解决json解析异常
This commit is contained in:
@@ -48,7 +48,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.java.dev.jna</groupId>
|
<groupId>net.java.dev.jna</groupId>
|
||||||
<artifactId>jna</artifactId>
|
<artifactId>jna</artifactId>
|
||||||
<version>5.8.0</version>
|
<version>5.5.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.njcn</groupId>
|
<groupId>com.njcn</groupId>
|
||||||
|
|||||||
@@ -56,6 +56,12 @@
|
|||||||
<groupId>com.njcn</groupId>
|
<groupId>com.njcn</groupId>
|
||||||
<artifactId>event-api</artifactId>
|
<artifactId>event-api</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.sun.jna</groupId>
|
||||||
|
<artifactId>jna</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.njcn</groupId>
|
<groupId>com.njcn</groupId>
|
||||||
@@ -67,7 +73,11 @@
|
|||||||
<artifactId>jackson-datatype-jsr310</artifactId>
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.java.dev.jna</groupId>
|
||||||
|
<artifactId>jna</artifactId>
|
||||||
|
<version>5.5.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|||||||
@@ -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<String> getFieldOrder(){
|
||||||
|
List<String> fieldOrderList = new ArrayList<String>();
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ package com.njcn.advance.model.responsibility;
|
|||||||
import com.sun.jna.Structure;
|
import com.sun.jna.Structure;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class HKDataStruct extends Structure implements Serializable {
|
public class HKDataStruct extends Structure implements Serializable {
|
||||||
@@ -13,7 +14,7 @@ public class HKDataStruct extends Structure implements Serializable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List getFieldOrder() {
|
protected List getFieldOrder() {
|
||||||
return null;
|
return Collections.singletonList("hk");
|
||||||
}
|
}
|
||||||
|
|
||||||
public HKDataStruct(double[] hk) {
|
public HKDataStruct(double[] hk) {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.sun.jna.Structure;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@@ -15,7 +16,8 @@ public class PDataStruct extends Structure implements Serializable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List getFieldOrder() {
|
protected List getFieldOrder() {
|
||||||
return null;
|
// return null;
|
||||||
|
return Collections.singletonList("p");
|
||||||
}
|
}
|
||||||
|
|
||||||
public PDataStruct(double[] p) {
|
public PDataStruct(double[] p) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import java.io.Serializable;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
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_NODE= 200; //功率节点个数限制,按200个限制
|
||||||
public static final int MAX_P_NUM= 96 * 100; //功率数据按15分钟间隔,100天处理
|
public static final int MAX_P_NUM= 96 * 100; //功率数据按15分钟间隔,100天处理
|
||||||
public static final int MAX_HARM_NUM= 1440 * 100; //谐波数据按一分钟间隔,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;
|
this.sim_data = sim_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
// @Override
|
||||||
protected List getFieldOrder() {
|
// protected List getFieldOrder() {
|
||||||
return Arrays.asList(new String[]{"sumFKdata", "sumHKdata"});
|
// return Arrays.asList(new String[]{"sumFKdata", "sumHKdata"});
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
harmNum = pNum;
|
harmNum = pNum;
|
||||||
//至此基础数据组装完毕,开始组装功率数据和谐波数据
|
//至此基础数据组装完毕,开始组装功率数据和谐波数据
|
||||||
//先做谐波数据,理论上到这步的时候,谐波数据是满足完整性并已经补充完整性到100%,此处需要将谐波数据与功率数据长度匹配上
|
//先做谐波数据,理论上到这步的时候,谐波数据是满足完整性并已经补充完整性到100%,此处需要将谐波数据与功率数据长度匹配上
|
||||||
RespHarmData respHarmData = getRespHarmData(responsibilityCalculateParam,lineInterval);
|
RespHarmData respHarmData = getRespHarmData(responsibilityCalculateParam, lineInterval);
|
||||||
//harmData填充完毕后,开始组装功率数据
|
//harmData填充完毕后,开始组装功率数据
|
||||||
//首先获取当前时间内的各个用户的数据
|
//首先获取当前时间内的各个用户的数据
|
||||||
Map<String/*用户名*/, List<UserDataExcel>> originalPData = new HashMap<>();
|
Map<String/*用户名*/, List<UserDataExcel>> originalPData = new HashMap<>();
|
||||||
@@ -200,7 +200,12 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//至此功率数据也组装完毕,调用友谊提供的接口
|
//至此功率数据也组装完毕,调用友谊提供的接口
|
||||||
QvvrStruct qvvrStruct = new QvvrStruct();
|
QvvrStruct qvvrStruct = null;
|
||||||
|
try {
|
||||||
|
qvvrStruct = new QvvrStruct();
|
||||||
|
} catch (Exception exception) {
|
||||||
|
exception.printStackTrace();
|
||||||
|
}
|
||||||
qvvrStruct.cal_flag = 0;
|
qvvrStruct.cal_flag = 0;
|
||||||
qvvrStruct.p_node = pNode;
|
qvvrStruct.p_node = pNode;
|
||||||
qvvrStruct.p_num = pNum;
|
qvvrStruct.p_num = pNum;
|
||||||
@@ -212,7 +217,11 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
ResponsibilityCallDllOrSo responsibilityCallDllOrSo = new ResponsibilityCallDllOrSo("harm_response");
|
ResponsibilityCallDllOrSo responsibilityCallDllOrSo = new ResponsibilityCallDllOrSo("harm_response");
|
||||||
responsibilityCallDllOrSo.setPath();
|
responsibilityCallDllOrSo.setPath();
|
||||||
ResponsibilityCallDllOrSo.ResponsibilityLibrary responsibilityLibrary = ResponsibilityCallDllOrSo.ResponsibilityLibrary.INSTANTCE;
|
ResponsibilityCallDllOrSo.ResponsibilityLibrary responsibilityLibrary = ResponsibilityCallDllOrSo.ResponsibilityLibrary.INSTANTCE;
|
||||||
|
try {
|
||||||
responsibilityLibrary.harm_response(qvvrStruct);
|
responsibilityLibrary.harm_response(qvvrStruct);
|
||||||
|
} catch (Exception exception) {
|
||||||
|
exception.printStackTrace();
|
||||||
|
}
|
||||||
//至此接口调用结束,开始组装动态责任数据和用户责任量化结果
|
//至此接口调用结束,开始组装动态责任数据和用户责任量化结果
|
||||||
//首先判断cal_ok的标识位是否为1,为0表示程序没有计算出结果
|
//首先判断cal_ok的标识位是否为1,为0表示程序没有计算出结果
|
||||||
if (qvvrStruct.cal_ok == 0) {
|
if (qvvrStruct.cal_ok == 0) {
|
||||||
@@ -863,14 +872,14 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
pNum = dateStr.size() * 48;
|
pNum = dateStr.size() * 48;
|
||||||
finalData = dealFinalDataByLineInterval(finalData);
|
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();
|
HarmHistoryDataDTO data = harmDataFeignClient.getHistoryHarmData(new HistoryHarmParam(responsibilityCalculateParam.getSearchBeginTime(), responsibilityCalculateParam.getSearchEndTime(), responsibilityCalculateParam.getLineId(), responsibilityCalculateParam.getType(), responsibilityCalculateParam.getTime())).getData();
|
||||||
List<HarmData> historyData = data.getHistoryData();
|
List<HarmData> historyData = data.getHistoryData();
|
||||||
historyData = getDataWithLineInterval(historyData, lineInterval);
|
historyData = getDataWithLineInterval(historyData, lineInterval);
|
||||||
@@ -881,12 +890,12 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
for (int i = 0; i < historyData.size(); i++) {
|
for (int i = 0; i < historyData.size(); i++) {
|
||||||
Float value = historyData.get(i).getValue();
|
Float value = historyData.get(i).getValue();
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
value = value * 1000;
|
// value = value * 1000;
|
||||||
}
|
}
|
||||||
harmData[i] = value;
|
harmData[i] = value;
|
||||||
harmTime.add(PubUtils.instantToDate(historyData.get(i).getTime()).getTime());
|
harmTime.add(PubUtils.instantToDate(historyData.get(i).getTime()).getTime());
|
||||||
}
|
}
|
||||||
return new RespHarmData(harmData,harmTime,data.getOverLimit());
|
return new RespHarmData(harmData, harmTime, data.getOverLimit());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@@ -21,16 +21,16 @@
|
|||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
||||||
<!--pq-device-boot和pms-device-boot只能选择一个-->
|
<!--pq-device-boot和pms-device-boot只能选择一个-->
|
||||||
<!-- <dependency>
|
<dependency>
|
||||||
<groupId>com.njcn</groupId>
|
<groupId>com.njcn</groupId>
|
||||||
<artifactId>pq-device-boot</artifactId>
|
<artifactId>pq-device-boot</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>-->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.njcn</groupId>
|
|
||||||
<artifactId>pms-device-boot</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- <dependency>-->
|
||||||
|
<!-- <groupId>com.njcn</groupId>-->
|
||||||
|
<!-- <artifactId>pms-device-boot</artifactId>-->
|
||||||
|
<!-- <version>${project.version}</version>-->
|
||||||
|
<!-- </dependency>-->
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.njcn</groupId>
|
<groupId>com.njcn</groupId>
|
||||||
|
|||||||
@@ -231,6 +231,7 @@ whitelist:
|
|||||||
- /system-boot/**
|
- /system-boot/**
|
||||||
- /supervision-boot/**
|
- /supervision-boot/**
|
||||||
- /user-boot/**
|
- /user-boot/**
|
||||||
|
- /harmonic-boot/**
|
||||||
- /user-boot/user/listAllUserByDeptId
|
- /user-boot/user/listAllUserByDeptId
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1153,7 +1153,8 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
|||||||
//以时间分组时,需要加上时间间隔,比如此处需要加上监测点的采样间隔
|
//以时间分组时,需要加上时间间隔,比如此处需要加上监测点的采样间隔
|
||||||
.groupBy("time(" + lineDetailData.getInterval() + "m)")
|
.groupBy("time(" + lineDetailData.getInterval() + "m)")
|
||||||
.timeAsc();
|
.timeAsc();
|
||||||
historyData = dataIMapper.getIHistoryData(influxQueryWrapper);
|
String string = influxQueryWrapper.generateSql();
|
||||||
|
historyData = dataIMapper.getIHistoryData(string);
|
||||||
if (CollectionUtils.isEmpty(historyData)) {
|
if (CollectionUtils.isEmpty(historyData)) {
|
||||||
//如果数据为空,则提示给用户暂无数据
|
//如果数据为空,则提示给用户暂无数据
|
||||||
throw new BusinessException(HarmonicResponseEnum.NO_DATA);
|
throw new BusinessException(HarmonicResponseEnum.NO_DATA);
|
||||||
|
|||||||
@@ -18,7 +18,10 @@ public interface IDataIMapper extends InfluxDbBaseMapper<DataI> {
|
|||||||
|
|
||||||
DataI getMeanAllTimesData(InfluxQueryWrapper influxQueryWrapper);
|
DataI getMeanAllTimesData(InfluxQueryWrapper influxQueryWrapper);
|
||||||
|
|
||||||
List<HarmData> getIHistoryData(InfluxQueryWrapper influxQueryWrapper);
|
// List<HarmData> getIHistoryData(InfluxQueryWrapper influxQueryWrapper);
|
||||||
|
|
||||||
|
@Select(value = "#{sql}",resultType = HarmData.class)
|
||||||
|
List<HarmData> getIHistoryData(@Param("sql")String sql);
|
||||||
|
|
||||||
List<DataI> getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper);
|
List<DataI> getStatisticsByWraper(InfluxQueryWrapper influxQueryWrapper);
|
||||||
|
|
||||||
|
|||||||
@@ -63,9 +63,9 @@ public class QuitRunningDeviceController extends BaseController {
|
|||||||
@PostMapping("/update")
|
@PostMapping("/update")
|
||||||
@ApiOperation("更新设备退运")
|
@ApiOperation("更新设备退运")
|
||||||
@ApiImplicitParam(name = "quitRunningDeviceUpdateParam", value = "实体参数", required = true)
|
@ApiImplicitParam(name = "quitRunningDeviceUpdateParam", value = "实体参数", required = true)
|
||||||
public HttpResult<String> quitRunningDeviceUpdate(@RequestBody @Validated QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam) {
|
public HttpResult<String> updateQuitRunningDevice(@RequestBody @Validated QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam) {
|
||||||
String methodDescribe = getMethodDescribe("quitRunningDeviceUpdateParam");
|
String methodDescribe = getMethodDescribe("quitRunningDeviceUpdateParam");
|
||||||
String runningDeviceId = quitRunningDeviceService.quitRunningDeviceUpdate(quitRunningDeviceUpdateParam);
|
String runningDeviceId = quitRunningDeviceService.updateQuitRunningDevice(quitRunningDeviceUpdateParam);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, runningDeviceId, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, runningDeviceId, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO;
|
|||||||
public interface IQuitRunningDeviceService extends IService<QuitRunningDevice> {
|
public interface IQuitRunningDeviceService extends IService<QuitRunningDevice> {
|
||||||
|
|
||||||
String addRunningDevice(QuitRunningDeviceParam quitRunningDeviceParam);
|
String addRunningDevice(QuitRunningDeviceParam quitRunningDeviceParam);
|
||||||
String quitRunningDeviceUpdate(QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam);
|
String updateQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam);
|
||||||
|
|
||||||
Page<QuitRunningDeviceVO> getQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam);
|
Page<QuitRunningDeviceVO> getQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam);
|
||||||
|
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceM
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String quitRunningDeviceUpdate(QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam) {
|
public String updateQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam) {
|
||||||
QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(quitRunningDeviceUpdateParam.getId());
|
QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(quitRunningDeviceUpdateParam.getId());
|
||||||
BeanUtils.copyProperties(quitRunningDeviceUpdateParam, quitRunningDevice);
|
BeanUtils.copyProperties(quitRunningDeviceUpdateParam, quitRunningDevice);
|
||||||
quitRunningDevice.setState(DataStateEnum.ENABLE.getCode());
|
quitRunningDevice.setState(DataStateEnum.ENABLE.getCode());
|
||||||
@@ -173,7 +173,6 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceM
|
|||||||
QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(id);
|
QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(id);
|
||||||
QuitRunningDeviceVO quitRunningDeviceVO = new QuitRunningDeviceVO();
|
QuitRunningDeviceVO quitRunningDeviceVO = new QuitRunningDeviceVO();
|
||||||
BeanUtils.copyProperties(quitRunningDevice, quitRunningDeviceVO);
|
BeanUtils.copyProperties(quitRunningDevice, quitRunningDeviceVO);
|
||||||
//通过,则需要远程将该装置调整为退运
|
|
||||||
if (quitRunningDeviceVO.getDeviceType() == 1) {
|
if (quitRunningDeviceVO.getDeviceType() == 1) {
|
||||||
DeviceVO deviceVO = lineFeignClient.getDeviceDetailData(quitRunningDeviceVO.getDeviceId()).getData();
|
DeviceVO deviceVO = lineFeignClient.getDeviceDetailData(quitRunningDeviceVO.getDeviceId()).getData();
|
||||||
quitRunningDeviceVO.setDeviceName(deviceVO.getName());
|
quitRunningDeviceVO.setDeviceName(deviceVO.getName());
|
||||||
|
|||||||
Reference in New Issue
Block a user