调整检测脚本新增,增加设定值表新增
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
package com.njcn.gather.script.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.LogUtil;
|
||||
import com.njcn.gather.script.pojo.param.PqScriptDtlsParam;
|
||||
import com.njcn.gather.script.pojo.param.PqScriptIssueParam;
|
||||
import com.njcn.gather.script.pojo.param.PqScriptParam;
|
||||
import com.njcn.gather.script.pojo.po.PqScript;
|
||||
@@ -101,7 +100,7 @@ public class PqScriptController extends BaseController {
|
||||
}
|
||||
|
||||
@OperateInfo
|
||||
@GetMapping("getScriptDtlsByScriptId")
|
||||
@GetMapping("/getScriptDtlsByScriptId")
|
||||
@ApiOperation("根据脚本id查询检测脚本详情")
|
||||
@ApiImplicitParam(name = "id", value = "检测脚本id", required = true)
|
||||
public HttpResult<List<PqScriptDtls>> getScriptDtlsByScriptId(@RequestParam("id") String id) {
|
||||
@@ -139,19 +138,26 @@ public class PqScriptController extends BaseController {
|
||||
|
||||
|
||||
@OperateInfo
|
||||
@PostMapping("dls")
|
||||
@PostMapping("/dlsDetails")
|
||||
@ApiOperation("根据脚本id查询检测脚本详情")
|
||||
@ApiImplicitParam(name = "id", value = "检测脚本id", required = true)
|
||||
public HttpResult<List<SourceIssue>> dls(@RequestBody PqScriptIssueParam param) {
|
||||
String methodDescribe = getMethodDescribe("list");
|
||||
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, param);
|
||||
List<SourceIssue> sourceIssues = pqScriptDtlsService.listSourceIssue(param);
|
||||
for (SourceIssue sourceIssue : sourceIssues) {
|
||||
String jsonString = JSON.toJSONString(sourceIssue,SerializerFeature.WriteNullStringAsEmpty);
|
||||
System.out.println();
|
||||
}
|
||||
String jsonString =JSON.toJSONString(sourceIssues);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sourceIssues, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@OperateInfo
|
||||
@PostMapping("/addScriptDtls")
|
||||
@ApiOperation("添加检测脚本")
|
||||
@ApiImplicitParam(name = "id", value = "检测脚本id", required = true)
|
||||
public HttpResult<Boolean> addScriptDtls(@RequestBody PqScriptDtlsParam sourceIssue) {
|
||||
String methodDescribe = getMethodDescribe("list");
|
||||
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, sourceIssue);
|
||||
Boolean b = pqScriptDtlsService.saveScriptDtls(sourceIssue);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, b, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,4 +30,10 @@ public class PqScriptIssueParam {
|
||||
private String sourceId;
|
||||
|
||||
private List<Integer> indexList;
|
||||
|
||||
@ApiModelProperty("检测脚本类型")
|
||||
private String scriptType;
|
||||
|
||||
@ApiModelProperty("表明指标类型(例如:Freq频率下的影响、Base额定下的影响、VOL电压下的影响)")
|
||||
private String scriptSubType;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.gather.script.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@@ -16,7 +17,7 @@ public class PqScriptCheckData implements Serializable {
|
||||
/**
|
||||
* 检测脚本参考设定值ID
|
||||
*/
|
||||
@TableId
|
||||
@TableId(value = "Id", type = IdType.ASSIGN_UUID)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
package com.njcn.gather.script.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class PqScriptCheckDataVO implements Serializable {
|
||||
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 总检测脚本中的测试项序号
|
||||
*/
|
||||
private String valueTypeId;
|
||||
|
||||
/**
|
||||
* 检测指标类型,与数据字典关联(例如电压有效值、谐波电压含有率等)
|
||||
*/
|
||||
private String valueTypeCode;
|
||||
|
||||
/**
|
||||
* 数据类型,来源于字典表,包括实时数据(3s)、分钟统计数据(1min/3min/5min/10min)等
|
||||
*/
|
||||
private String dataType;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.njcn.gather.script.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class PqScriptDtlDataVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 这条检测脚本的序号
|
||||
*/
|
||||
private String index;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.njcn.gather.script.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.gather.script.pojo.param.PqScriptDtlsParam;
|
||||
import com.njcn.gather.script.pojo.param.PqScriptIssueParam;
|
||||
import com.njcn.gather.script.pojo.po.PqScriptDtls;
|
||||
import com.njcn.gather.script.pojo.po.SourceIssue;
|
||||
import com.njcn.gather.script.pojo.vo.PqScriptDtlDataVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -75,7 +77,13 @@ public interface IPqScriptDtlsService extends IService<PqScriptDtls> {
|
||||
* @param sourceIssue
|
||||
* @return
|
||||
*/
|
||||
Boolean saveScriptDtls(SourceIssue sourceIssue);
|
||||
Boolean saveScriptDtls(PqScriptDtlsParam sourceIssue);
|
||||
|
||||
/**
|
||||
* 查询当前检测小项的信息
|
||||
* @return
|
||||
*/
|
||||
List<PqScriptDtlDataVO> scriptDtlsList();
|
||||
|
||||
Boolean saveCheck();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.gather.script.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -13,11 +14,13 @@ import com.njcn.gather.device.pojo.enums.CommonEnum;
|
||||
import com.njcn.gather.script.mapper.PqScriptDtlsMapper;
|
||||
import com.njcn.gather.script.mapper.PqScriptMapper;
|
||||
import com.njcn.gather.script.pojo.param.PqScriptCheckDataParam;
|
||||
import com.njcn.gather.script.pojo.param.PqScriptDtlsParam;
|
||||
import com.njcn.gather.script.pojo.param.PqScriptIssueParam;
|
||||
import com.njcn.gather.script.pojo.po.PqScript;
|
||||
import com.njcn.gather.script.pojo.po.PqScriptCheckData;
|
||||
import com.njcn.gather.script.pojo.po.PqScriptDtls;
|
||||
import com.njcn.gather.script.pojo.po.SourceIssue;
|
||||
import com.njcn.gather.script.pojo.vo.PqScriptDtlDataVO;
|
||||
import com.njcn.gather.script.service.IPqScriptCheckDataService;
|
||||
import com.njcn.gather.script.service.IPqScriptDtlsService;
|
||||
import com.njcn.gather.script.util.ScriptDtlsDesc;
|
||||
@@ -131,7 +134,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
|
||||
if (voltSet.size() == 1 && currSet.size() == 1) {
|
||||
Double volt = voltSet.stream().collect(Collectors.toList()).stream().findFirst().get();
|
||||
Double curr = currSet.stream().collect(Collectors.toList()).stream().findFirst().get();
|
||||
List<PqScriptDtls> pqScriptDtls = this.pqScriptDtls(param.getScriptId(), param.getIsPhaseSequence(), volt, curr, param.getIndexList());
|
||||
List<PqScriptDtls> pqScriptDtls = this.pqScriptDtls(param, volt, curr);
|
||||
Boolean isValueType = pqScriptMapper.selectScriptIsValueType(param.getScriptId());
|
||||
if (CollUtil.isNotEmpty(pqScriptDtls)) {
|
||||
/**
|
||||
@@ -222,9 +225,37 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean saveScriptDtls(SourceIssue sourceIssue) {
|
||||
public Boolean saveScriptDtls(PqScriptDtlsParam sourceIssue) {
|
||||
List<PqScriptDtls> info = new ArrayList<>();
|
||||
Integer i = this.baseMapper.selectMaxIndex(sourceIssue.getScriptId());
|
||||
List<PqScriptCheckData> checkList = new ArrayList<>();
|
||||
Integer i=sourceIssue.getIndex();
|
||||
if(ObjectUtil.isNotNull(sourceIssue.getIndex())){
|
||||
this.remove(new MPJLambdaWrapper<PqScriptDtls>()
|
||||
.eq(PqScriptDtls::getScriptId,sourceIssue.getScriptId())
|
||||
.eq(PqScriptDtls::getIndex,sourceIssue.getIndex())
|
||||
);
|
||||
pqScriptCheckDataService.remove(new MPJLambdaWrapper<PqScriptCheckData>()
|
||||
.eq(PqScriptCheckData::getScriptId,sourceIssue.getScriptId())
|
||||
.eq(PqScriptCheckData::getIndex,sourceIssue.getIndex())
|
||||
);
|
||||
}else{
|
||||
i = this.baseMapper.selectMaxIndex(sourceIssue.getScriptId());
|
||||
}
|
||||
List<PqScriptDtlsParam.CheckData> checkDataList = sourceIssue.getCheckDataList();
|
||||
PqScriptCheckData data;
|
||||
for (PqScriptDtlsParam.CheckData checkData : checkDataList) {
|
||||
data=new PqScriptCheckData();
|
||||
data.setScriptId(sourceIssue.getScriptId());
|
||||
data.setIndex(i);
|
||||
data.setValueType(checkData.getValueType());
|
||||
data.setDataType(checkData.getDataType());
|
||||
data.setPhase(checkData.getPhase());
|
||||
data.setValue(checkData.getValue());
|
||||
data.setHarmNum(checkData.getHarmNum());
|
||||
data.setEnable(checkData.getEnable());
|
||||
data.setErrorFlag(checkData.getErrorFlag());
|
||||
checkList.add(data);
|
||||
}
|
||||
//频率赋值
|
||||
PqScriptDtls dtls = setScriptDtls(sourceIssue, i);
|
||||
dtls.setValueType(FREQ);
|
||||
@@ -310,7 +341,15 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
|
||||
if (CollUtil.isNotEmpty(info)) {
|
||||
this.saveBatch(info);
|
||||
}
|
||||
return false;
|
||||
if(CollUtil.isNotEmpty(checkList)){
|
||||
pqScriptCheckDataService.saveBatch(checkList);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PqScriptDtlDataVO> scriptDtlsList() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -318,22 +357,24 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
|
||||
return null;
|
||||
}
|
||||
|
||||
private PqScriptDtls setScriptDtls(SourceIssue sourceIssue, Integer i) {
|
||||
private PqScriptDtls setScriptDtls(PqScriptDtlsParam sourceIssue, Integer i) {
|
||||
PqScriptDtls dtls = new PqScriptDtls();
|
||||
dtls.setScriptId(sourceIssue.getScriptId());
|
||||
dtls.setIndex(i);
|
||||
dtls.setScriptType(sourceIssue.getScriptId());
|
||||
dtls.setScriptSubType(sourceIssue.getScriptId());
|
||||
dtls.setScriptType(sourceIssue.getScriptType());
|
||||
dtls.setScriptSubType(sourceIssue.getSubType());
|
||||
dtls.setEnable(DataStateEnum.ENABLE.getCode());
|
||||
return dtls;
|
||||
}
|
||||
|
||||
public List<PqScriptDtls> pqScriptDtls(String scriptId, String isPhaseSequence, Double volt, Double curr, List<Integer> indexList) {
|
||||
public List<PqScriptDtls> pqScriptDtls(PqScriptIssueParam param, Double volt, Double curr) {
|
||||
List<PqScriptDtls> pqScriptDtls;
|
||||
MPJLambdaWrapper<PqScriptDtls> queryWrapper = new MPJLambdaWrapper<>();
|
||||
queryWrapper.selectAll(PqScriptDtls.class)
|
||||
.selectAs(DictTree::getCode, PqScriptDtls::getScriptCode)
|
||||
.leftJoin(DictTree.class, DictTree::getId, PqScriptDtls::getScriptType)
|
||||
.eq(StrUtil.isNotBlank(param.getScriptType()), PqScriptDtls::getScriptType, param.getScriptSubType())
|
||||
.eq(StrUtil.isNotBlank(param.getScriptSubType()), PqScriptDtls::getScriptSubType, param.getScriptSubType())
|
||||
// .eq(PqScriptDtls::getIndex, 1)
|
||||
// .le(PqScriptDtls::getIndex, 30)
|
||||
// .in(PqScriptDtls::getIndex, Arrays.asList(1,7))
|
||||
@@ -341,20 +382,20 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
|
||||
.eq(PqScriptCheckData::getEnable, DataStateEnum.ENABLE.getCode())
|
||||
.orderByAsc(PqScriptCheckData::getIndex)
|
||||
;
|
||||
if (isPhaseSequence.equals(CommonEnum.PHASE_TEST.getValue())) {
|
||||
if (param.getIsPhaseSequence().equals(CommonEnum.PHASE_TEST.getValue())) {
|
||||
//相序
|
||||
queryWrapper.eq(PqScriptDtls::getIndex, -1)
|
||||
.eq(PqScriptDtls::getEnable, 1);
|
||||
pqScriptDtls = this.list(queryWrapper);
|
||||
} else if (isPhaseSequence.equals(CommonEnum.COEFFICIENT_TEST.getValue())) {
|
||||
} else if (param.getIsPhaseSequence().equals(CommonEnum.COEFFICIENT_TEST.getValue())) {
|
||||
//系数
|
||||
queryWrapper.in(PqScriptDtls::getIndex, indexList)
|
||||
queryWrapper.in(PqScriptDtls::getIndex, param.getIndexList())
|
||||
.eq(PqScriptDtls::getEnable, 1);
|
||||
pqScriptDtls = this.list(queryWrapper);
|
||||
} else {
|
||||
//先获取检测脚本类型是否相对值 true相对值 false绝对值(相对值要乘额定值,绝对值不需要处理)
|
||||
Boolean isValueType = pqScriptMapper.selectScriptIsValueType(scriptId);
|
||||
queryWrapper.eq(PqScriptDtls::getScriptId, scriptId);
|
||||
Boolean isValueType = pqScriptMapper.selectScriptIsValueType(param.getScriptId());
|
||||
queryWrapper.eq(PqScriptDtls::getScriptId, param.getScriptId());
|
||||
pqScriptDtls = this.getBaseMapper().selectJoinList(PqScriptDtls.class, queryWrapper);
|
||||
if (isValueType) {
|
||||
for (PqScriptDtls pqScriptDtl : pqScriptDtls) {
|
||||
|
||||
Reference in New Issue
Block a user