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