diff --git a/pqs-advance/advance-api/pom.xml b/pqs-advance/advance-api/pom.xml
index d214d0de5..dcc9f55f9 100644
--- a/pqs-advance/advance-api/pom.xml
+++ b/pqs-advance/advance-api/pom.xml
@@ -48,7 +48,7 @@
net.java.dev.jna
jna
- 5.8.0
+ 5.5.0
com.njcn
diff --git a/pqs-advance/advance-boot/pom.xml b/pqs-advance/advance-boot/pom.xml
index edb7775be..d09840e6d 100644
--- a/pqs-advance/advance-boot/pom.xml
+++ b/pqs-advance/advance-boot/pom.xml
@@ -56,6 +56,12 @@
com.njcn
event-api
${project.version}
+
+
+ com.sun.jna
+ jna
+
+
com.njcn
@@ -67,7 +73,11 @@
jackson-datatype-jsr310
-
+
+ net.java.dev.jna
+ jna
+ 5.5.0
+
diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/HIKSDKStructure.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/HIKSDKStructure.java
new file mode 100644
index 000000000..50718dda9
--- /dev/null
+++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/HIKSDKStructure.java
@@ -0,0 +1,31 @@
+package com.njcn.advance.model.responsibility;
+
+import com.sun.jna.Structure;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author: tw
+ * @date: 2022/1/12 10:57
+ */
+public class HIKSDKStructure extends Structure {
+ protected List getFieldOrder(){
+ List fieldOrderList = new ArrayList();
+ for (Class> cls = getClass();
+ !cls.equals(HIKSDKStructure.class);
+ cls = cls.getSuperclass()) {
+ Field[] fields = cls.getDeclaredFields();
+ int modifiers;
+ for (Field field : fields) {
+ modifiers = field.getModifiers();
+ if (Modifier.isStatic(modifiers) || !Modifier.isPublic(modifiers)) {
+ continue;
+ }
+ fieldOrderList.add(field.getName());
+ }
+ }
+ return fieldOrderList;
+ }
+}
\ No newline at end of file
diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/HKDataStruct.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/HKDataStruct.java
index ef1f86862..1ec0db6d1 100644
--- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/HKDataStruct.java
+++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/HKDataStruct.java
@@ -3,6 +3,7 @@ package com.njcn.advance.model.responsibility;
import com.sun.jna.Structure;
import java.io.Serializable;
+import java.util.Collections;
import java.util.List;
public class HKDataStruct extends Structure implements Serializable {
@@ -13,7 +14,7 @@ public class HKDataStruct extends Structure implements Serializable {
@Override
protected List getFieldOrder() {
- return null;
+ return Collections.singletonList("hk");
}
public HKDataStruct(double[] hk) {
diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/PDataStruct.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/PDataStruct.java
index fdf67a23d..34bd887c8 100644
--- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/PDataStruct.java
+++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/PDataStruct.java
@@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.io.Serializable;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
@@ -15,7 +16,8 @@ public class PDataStruct extends Structure implements Serializable {
@Override
protected List getFieldOrder() {
- return null;
+// return null;
+ return Collections.singletonList("p");
}
public PDataStruct(double[] p) {
diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/QvvrStruct.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/QvvrStruct.java
index 037cd23db..0225caa1b 100644
--- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/QvvrStruct.java
+++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/model/responsibility/QvvrStruct.java
@@ -6,7 +6,7 @@ import java.io.Serializable;
import java.util.Arrays;
import java.util.List;
-public class QvvrStruct extends Structure implements Serializable {
+public class QvvrStruct extends HIKSDKStructure implements Serializable {
public static final int MAX_P_NODE= 200; //功率节点个数限制,按200个限制
public static final int MAX_P_NUM= 96 * 100; //功率数据按15分钟间隔,100天处理
public static final int MAX_HARM_NUM= 1440 * 100; //谐波数据按一分钟间隔,100天处理
@@ -193,8 +193,8 @@ public class QvvrStruct extends Structure implements Serializable {
this.sim_data = sim_data;
}
- @Override
- protected List getFieldOrder() {
- return Arrays.asList(new String[]{"sumFKdata", "sumHKdata"});
- }
+// @Override
+// protected List getFieldOrder() {
+// return Arrays.asList(new String[]{"sumFKdata", "sumHKdata"});
+// }
}
diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/responsibility/impl/RespDataServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/responsibility/impl/RespDataServiceImpl.java
index 34be3716d..86d843b3a 100644
--- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/responsibility/impl/RespDataServiceImpl.java
+++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/responsibility/impl/RespDataServiceImpl.java
@@ -166,7 +166,7 @@ public class RespDataServiceImpl extends ServiceImpl i
harmNum = pNum;
//至此基础数据组装完毕,开始组装功率数据和谐波数据
//先做谐波数据,理论上到这步的时候,谐波数据是满足完整性并已经补充完整性到100%,此处需要将谐波数据与功率数据长度匹配上
- RespHarmData respHarmData = getRespHarmData(responsibilityCalculateParam,lineInterval);
+ RespHarmData respHarmData = getRespHarmData(responsibilityCalculateParam, lineInterval);
//harmData填充完毕后,开始组装功率数据
//首先获取当前时间内的各个用户的数据
Map> originalPData = new HashMap<>();
@@ -200,7 +200,12 @@ public class RespDataServiceImpl extends ServiceImpl i
}
}
//至此功率数据也组装完毕,调用友谊提供的接口
- QvvrStruct qvvrStruct = new QvvrStruct();
+ QvvrStruct qvvrStruct = null;
+ try {
+ qvvrStruct = new QvvrStruct();
+ } catch (Exception exception) {
+ exception.printStackTrace();
+ }
qvvrStruct.cal_flag = 0;
qvvrStruct.p_node = pNode;
qvvrStruct.p_num = pNum;
@@ -212,7 +217,11 @@ public class RespDataServiceImpl extends ServiceImpl i
ResponsibilityCallDllOrSo responsibilityCallDllOrSo = new ResponsibilityCallDllOrSo("harm_response");
responsibilityCallDllOrSo.setPath();
ResponsibilityCallDllOrSo.ResponsibilityLibrary responsibilityLibrary = ResponsibilityCallDllOrSo.ResponsibilityLibrary.INSTANTCE;
- responsibilityLibrary.harm_response(qvvrStruct);
+ try {
+ responsibilityLibrary.harm_response(qvvrStruct);
+ } catch (Exception exception) {
+ exception.printStackTrace();
+ }
//至此接口调用结束,开始组装动态责任数据和用户责任量化结果
//首先判断cal_ok的标识位是否为1,为0表示程序没有计算出结果
if (qvvrStruct.cal_ok == 0) {
@@ -863,14 +872,14 @@ public class RespDataServiceImpl extends ServiceImpl i
pNum = dateStr.size() * 48;
finalData = dealFinalDataByLineInterval(finalData);
}
- return new RespCommon(pNum, userIntervalTime,lineInterval);
+ return new RespCommon(pNum, userIntervalTime, lineInterval);
}
/***
* 获取责任需要的谐波数据
*/
- private RespHarmData getRespHarmData(ResponsibilityCalculateParam responsibilityCalculateParam, int lineInterval){
+ private RespHarmData getRespHarmData(ResponsibilityCalculateParam responsibilityCalculateParam, int lineInterval) {
HarmHistoryDataDTO data = harmDataFeignClient.getHistoryHarmData(new HistoryHarmParam(responsibilityCalculateParam.getSearchBeginTime(), responsibilityCalculateParam.getSearchEndTime(), responsibilityCalculateParam.getLineId(), responsibilityCalculateParam.getType(), responsibilityCalculateParam.getTime())).getData();
List historyData = data.getHistoryData();
historyData = getDataWithLineInterval(historyData, lineInterval);
@@ -881,12 +890,12 @@ public class RespDataServiceImpl extends ServiceImpl i
for (int i = 0; i < historyData.size(); i++) {
Float value = historyData.get(i).getValue();
if (value != null) {
- value = value * 1000;
+// value = value * 1000;
}
harmData[i] = value;
harmTime.add(PubUtils.instantToDate(historyData.get(i).getTime()).getTime());
}
- return new RespHarmData(harmData,harmTime,data.getOverLimit());
+ return new RespHarmData(harmData, harmTime, data.getOverLimit());
}
}
diff --git a/pqs-advance/advance-boot/src/main/resources/harm_response.dll b/pqs-advance/advance-boot/src/main/resources/harm_response.dll
index 09eb4881e..6f1236444 100644
Binary files a/pqs-advance/advance-boot/src/main/resources/harm_response.dll and b/pqs-advance/advance-boot/src/main/resources/harm_response.dll differ
diff --git a/pqs-device/device-boot/pom.xml b/pqs-device/device-boot/pom.xml
index f4089bc9b..6e6756b5e 100644
--- a/pqs-device/device-boot/pom.xml
+++ b/pqs-device/device-boot/pom.xml
@@ -21,16 +21,16 @@
-
-
- com.njcn
- pms-device-boot
- ${project.version}
-
+
+
+
+
+
+
com.njcn
diff --git a/pqs-gateway/src/main/resources/bootstrap.yml b/pqs-gateway/src/main/resources/bootstrap.yml
index 65e944b8b..966817ea4 100644
--- a/pqs-gateway/src/main/resources/bootstrap.yml
+++ b/pqs-gateway/src/main/resources/bootstrap.yml
@@ -231,6 +231,7 @@ whitelist:
- /system-boot/**
- /supervision-boot/**
- /user-boot/**
+ - /harmonic-boot/**
- /user-boot/user/listAllUserByDeptId
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/HistoryResultServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/HistoryResultServiceImpl.java
index 875da1dbc..b0baabae5 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/HistoryResultServiceImpl.java
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/HistoryResultServiceImpl.java
@@ -1153,7 +1153,8 @@ public class HistoryResultServiceImpl implements HistoryResultService {
//以时间分组时,需要加上时间间隔,比如此处需要加上监测点的采样间隔
.groupBy("time(" + lineDetailData.getInterval() + "m)")
.timeAsc();
- historyData = dataIMapper.getIHistoryData(influxQueryWrapper);
+ String string = influxQueryWrapper.generateSql();
+ historyData = dataIMapper.getIHistoryData(string);
if (CollectionUtils.isEmpty(historyData)) {
//如果数据为空,则提示给用户暂无数据
throw new BusinessException(HarmonicResponseEnum.NO_DATA);
diff --git a/pqs-influx/src/main/java/com/njcn/influx/imapper/IDataIMapper.java b/pqs-influx/src/main/java/com/njcn/influx/imapper/IDataIMapper.java
index 37c9512f7..45e9b9f85 100644
--- a/pqs-influx/src/main/java/com/njcn/influx/imapper/IDataIMapper.java
+++ b/pqs-influx/src/main/java/com/njcn/influx/imapper/IDataIMapper.java
@@ -18,7 +18,10 @@ public interface IDataIMapper extends InfluxDbBaseMapper {
DataI getMeanAllTimesData(InfluxQueryWrapper influxQueryWrapper);
- List getIHistoryData(InfluxQueryWrapper influxQueryWrapper);
+// List getIHistoryData(InfluxQueryWrapper influxQueryWrapper);
+
+ @Select(value = "#{sql}",resultType = HarmData.class)
+ List getIHistoryData(@Param("sql")String sql);
List getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper);
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/QuitRunningDeviceController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/QuitRunningDeviceController.java
index 8fc42d711..d0db54941 100644
--- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/QuitRunningDeviceController.java
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/QuitRunningDeviceController.java
@@ -63,9 +63,9 @@ public class QuitRunningDeviceController extends BaseController {
@PostMapping("/update")
@ApiOperation("更新设备退运")
@ApiImplicitParam(name = "quitRunningDeviceUpdateParam", value = "实体参数", required = true)
- public HttpResult quitRunningDeviceUpdate(@RequestBody @Validated QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam) {
+ public HttpResult updateQuitRunningDevice(@RequestBody @Validated QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam) {
String methodDescribe = getMethodDescribe("quitRunningDeviceUpdateParam");
- String runningDeviceId = quitRunningDeviceService.quitRunningDeviceUpdate(quitRunningDeviceUpdateParam);
+ String runningDeviceId = quitRunningDeviceService.updateQuitRunningDevice(quitRunningDeviceUpdateParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, runningDeviceId, methodDescribe);
}
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/IQuitRunningDeviceService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/IQuitRunningDeviceService.java
index 1638cff34..44236d228 100644
--- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/IQuitRunningDeviceService.java
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/IQuitRunningDeviceService.java
@@ -18,7 +18,7 @@ import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO;
public interface IQuitRunningDeviceService extends IService {
String addRunningDevice(QuitRunningDeviceParam quitRunningDeviceParam);
- String quitRunningDeviceUpdate(QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam);
+ String updateQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam);
Page getQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam);
diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java
index 7e83a7623..ea71b4c7d 100644
--- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java
+++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java
@@ -87,7 +87,7 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl