完成责任量化功能
This commit is contained in:
@@ -1,11 +1,10 @@
|
|||||||
package com.njcn.advance.pojo.bo.responsibility;
|
package com.njcn.advance.model.responsibility;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1,17 +1,16 @@
|
|||||||
package com.njcn.advance.pojo.bo.responsibility;
|
package com.njcn.advance.model.responsibility;
|
||||||
|
|
||||||
import com.sun.jna.Structure;
|
import com.sun.jna.Structure;
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class HKDataStruct extends Structure implements Serializable {
|
public class HKDataStruct extends Structure implements Serializable {
|
||||||
public float hk[] = new float[QvvrStruct.MAX_P_NODE + 1];
|
public float hk[] = new float[QvvrStruct.MAX_P_NODE + 1];
|
||||||
|
|
||||||
|
public HKDataStruct() {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List getFieldOrder() {
|
protected List getFieldOrder() {
|
||||||
return null;
|
return null;
|
||||||
@@ -1,19 +1,18 @@
|
|||||||
package com.njcn.advance.pojo.bo.responsibility;
|
package com.njcn.advance.model.responsibility;
|
||||||
|
|
||||||
import com.sun.jna.Structure;
|
import com.sun.jna.Structure;
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class PDataStruct extends Structure implements Serializable {
|
|
||||||
|
|
||||||
|
public class PDataStruct extends Structure implements Serializable {
|
||||||
public float p[] = new float[QvvrStruct.MAX_P_NODE];
|
public float p[] = new float[QvvrStruct.MAX_P_NODE];
|
||||||
|
|
||||||
|
public PDataStruct() {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List getFieldOrder() {
|
protected List getFieldOrder() {
|
||||||
return null;
|
return null;
|
||||||
@@ -37,5 +36,18 @@ public class PDataStruct extends Structure implements Serializable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float[] getP() {
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setP(float[] p) {
|
||||||
|
this.p = p;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "PDataStruct{" +
|
||||||
|
"p=" + Arrays.toString(p) +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.njcn.advance.pojo.bo.responsibility;
|
package com.njcn.advance.model.responsibility;
|
||||||
|
|
||||||
import com.sun.jna.Structure;
|
import com.sun.jna.Structure;
|
||||||
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,21 +0,0 @@
|
|||||||
package com.njcn.advance.service.responsibility.impl;
|
|
||||||
|
|
||||||
import com.njcn.advance.pojo.bo.responsibility.QvvrStruct;
|
|
||||||
import com.sun.jna.Library;
|
|
||||||
import com.sun.jna.Native;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author hongawen
|
|
||||||
* @version 1.0.0
|
|
||||||
* @date 2021年07月14日 16:17
|
|
||||||
*/
|
|
||||||
public interface JnaLibrary extends Library {
|
|
||||||
|
|
||||||
JnaLibrary INSTANCE = (JnaLibrary)
|
|
||||||
Native.loadLibrary(JnaLibrary.class.getResource("/harm_response.dll")
|
|
||||||
.getPath()
|
|
||||||
.substring(1),// substring(1)的原因是在Windows下获取到的路径前面会多一个斜杠,但在Linux下不会,
|
|
||||||
JnaLibrary.class);
|
|
||||||
|
|
||||||
void harm_response(QvvrStruct outData);
|
|
||||||
}
|
|
||||||
@@ -18,6 +18,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.advance.enums.AdvanceResponseEnum;
|
import com.njcn.advance.enums.AdvanceResponseEnum;
|
||||||
import com.njcn.advance.mapper.responsibility.RespDataMapper;
|
import com.njcn.advance.mapper.responsibility.RespDataMapper;
|
||||||
|
import com.njcn.advance.model.responsibility.CacheQvvrData;
|
||||||
|
import com.njcn.advance.model.responsibility.HKDataStruct;
|
||||||
|
import com.njcn.advance.model.responsibility.PDataStruct;
|
||||||
|
import com.njcn.advance.model.responsibility.QvvrStruct;
|
||||||
import com.njcn.advance.pojo.bo.responsibility.*;
|
import com.njcn.advance.pojo.bo.responsibility.*;
|
||||||
import com.njcn.advance.pojo.dto.responsibility.CustomerData;
|
import com.njcn.advance.pojo.dto.responsibility.CustomerData;
|
||||||
import com.njcn.advance.pojo.dto.responsibility.CustomerResponsibility;
|
import com.njcn.advance.pojo.dto.responsibility.CustomerResponsibility;
|
||||||
@@ -31,12 +35,9 @@ import com.njcn.advance.pojo.po.responsibility.RespUserData;
|
|||||||
import com.njcn.advance.service.responsibility.IRespDataResultService;
|
import com.njcn.advance.service.responsibility.IRespDataResultService;
|
||||||
import com.njcn.advance.service.responsibility.IRespDataService;
|
import com.njcn.advance.service.responsibility.IRespDataService;
|
||||||
import com.njcn.advance.service.responsibility.IRespUserDataService;
|
import com.njcn.advance.service.responsibility.IRespUserDataService;
|
||||||
import com.njcn.advance.utils.JnaCallBalance;
|
|
||||||
import com.njcn.advance.utils.JnaCallDllOrSo;
|
|
||||||
import com.njcn.advance.utils.ResponsibilityCallDllOrSo;
|
import com.njcn.advance.utils.ResponsibilityCallDllOrSo;
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.common.pojo.response.HttpResult;
|
|
||||||
import com.njcn.common.utils.FileUtil;
|
import com.njcn.common.utils.FileUtil;
|
||||||
import com.njcn.common.utils.PubUtils;
|
import com.njcn.common.utils.PubUtils;
|
||||||
import com.njcn.db.constant.DbConstant;
|
import com.njcn.db.constant.DbConstant;
|
||||||
@@ -49,13 +50,10 @@ import com.njcn.harmonic.pojo.param.HistoryHarmParam;
|
|||||||
import com.njcn.influx.pojo.dto.HarmData;
|
import com.njcn.influx.pojo.dto.HarmData;
|
||||||
import com.njcn.influx.pojo.dto.HarmHistoryDataDTO;
|
import com.njcn.influx.pojo.dto.HarmHistoryDataDTO;
|
||||||
import com.njcn.oss.constant.OssPath;
|
import com.njcn.oss.constant.OssPath;
|
||||||
import com.njcn.oss.enums.OssResponseEnum;
|
|
||||||
import com.njcn.oss.utils.FileStorageUtil;
|
import com.njcn.oss.utils.FileStorageUtil;
|
||||||
import com.njcn.system.pojo.vo.DictDataVO;
|
|
||||||
import com.njcn.web.factory.PageFactory;
|
import com.njcn.web.factory.PageFactory;
|
||||||
import com.njcn.web.pojo.param.BaseParam;
|
import com.njcn.web.pojo.param.BaseParam;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
@@ -86,8 +84,6 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
|
|
||||||
private final HarmDataFeignClient harmDataFeignClient;
|
private final HarmDataFeignClient harmDataFeignClient;
|
||||||
|
|
||||||
private final GetQvvrData getQvvrData;
|
|
||||||
|
|
||||||
private final IRespDataResultService respDataResultService;
|
private final IRespDataResultService respDataResultService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -133,7 +129,6 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponsibilityResult getDynamicData(ResponsibilityCalculateParam responsibilityCalculateParam) {
|
public ResponsibilityResult getDynamicData(ResponsibilityCalculateParam responsibilityCalculateParam) {
|
||||||
ResponsibilityResult result = new ResponsibilityResult();
|
ResponsibilityResult result = new ResponsibilityResult();
|
||||||
@@ -153,7 +148,6 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
if (CollectionUtils.isEmpty(userDataExcels)) {
|
if (CollectionUtils.isEmpty(userDataExcels)) {
|
||||||
throw new BusinessException(AdvanceResponseEnum.USER_DATA_NOT_FOUND);
|
throw new BusinessException(AdvanceResponseEnum.USER_DATA_NOT_FOUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
//开始处理,根据接口参数需求,需要节点数(用户数,用户名+监测点号为一个用户),时间范围内功率数据
|
//开始处理,根据接口参数需求,需要节点数(用户数,用户名+监测点号为一个用户),时间范围内功率数据
|
||||||
DealDataResult dealDataResult = RespUserDataServiceImpl.getStanderData(userDataExcels, 1);
|
DealDataResult dealDataResult = RespUserDataServiceImpl.getStanderData(userDataExcels, 1);
|
||||||
Map<String/*户号@监测点号@户名*/, Map<String/*yyyy-MM-dd天日期*/, List<UserDataExcel>>> totalData = dealDataResult.getTotalListData();
|
Map<String/*户号@监测点号@户名*/, Map<String/*yyyy-MM-dd天日期*/, List<UserDataExcel>>> totalData = dealDataResult.getTotalListData();
|
||||||
@@ -263,8 +257,7 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
qvvrStruct.harm_mk = harmMk;
|
qvvrStruct.harm_mk = harmMk;
|
||||||
qvvrStruct.p_data = pData;
|
qvvrStruct.p_data = pData;
|
||||||
qvvrStruct.harm_data = harmData;
|
qvvrStruct.harm_data = harmData;
|
||||||
|
ResponsibilityCallDllOrSo responsibilityCallDllOrSo = new ResponsibilityCallDllOrSo("harm_response");
|
||||||
ResponsibilityCallDllOrSo responsibilityCallDllOrSo = new ResponsibilityCallDllOrSo("harm_response.dll");
|
|
||||||
responsibilityCallDllOrSo.setPath();
|
responsibilityCallDllOrSo.setPath();
|
||||||
ResponsibilityCallDllOrSo.ResponsibilityLibrary responsibilityLibrary = ResponsibilityCallDllOrSo.ResponsibilityLibrary.INSTANTCE;
|
ResponsibilityCallDllOrSo.ResponsibilityLibrary responsibilityLibrary = ResponsibilityCallDllOrSo.ResponsibilityLibrary.INSTANTCE;
|
||||||
responsibilityLibrary.harm_response(qvvrStruct);
|
responsibilityLibrary.harm_response(qvvrStruct);
|
||||||
@@ -559,7 +552,10 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
qvvrStruct.setFKdata(FKdata);
|
qvvrStruct.setFKdata(FKdata);
|
||||||
qvvrStruct.setHKdata(HKdata);
|
qvvrStruct.setHKdata(HKdata);
|
||||||
}
|
}
|
||||||
qvvrStruct = getQvvrData.getResponsibilityResult(qvvrStruct);
|
ResponsibilityCallDllOrSo responsibilityCallDllOrSo = new ResponsibilityCallDllOrSo("harm_response");
|
||||||
|
responsibilityCallDllOrSo.setPath();
|
||||||
|
ResponsibilityCallDllOrSo.ResponsibilityLibrary responsibilityLibrary = ResponsibilityCallDllOrSo.ResponsibilityLibrary.INSTANTCE;
|
||||||
|
responsibilityLibrary.harm_response(qvvrStruct);
|
||||||
if (qvvrStruct.cal_ok == 0) {
|
if (qvvrStruct.cal_ok == 0) {
|
||||||
throw new BusinessException(AdvanceResponseEnum.RESPONSIBILITY_PARAMETER_ERROR);
|
throw new BusinessException(AdvanceResponseEnum.RESPONSIBILITY_PARAMETER_ERROR);
|
||||||
}
|
}
|
||||||
@@ -686,7 +682,6 @@ public class RespDataServiceImpl extends ServiceImpl<RespDataMapper, RespData> i
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 监测点测量间隔获取最后用于计算的功率数据
|
* 监测点测量间隔获取最后用于计算的功率数据
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.njcn.advance.utils;
|
package com.njcn.advance.utils;
|
||||||
|
|
||||||
import com.njcn.advance.pojo.bo.responsibility.QvvrStruct;
|
import com.njcn.advance.model.responsibility.QvvrStruct;
|
||||||
import com.sun.jna.Library;
|
import com.sun.jna.Library;
|
||||||
import com.sun.jna.Native;
|
import com.sun.jna.Native;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user