新增检测详情参数组装接口

This commit is contained in:
wr
2025-03-31 10:06:48 +08:00
parent 7ba71562d8
commit 09972e0764
5 changed files with 78 additions and 2 deletions

View File

@@ -27,7 +27,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@@ -208,5 +207,15 @@ public class PqScriptController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, checkData, methodDescribe);
}
@OperateInfo
@PostMapping("/getScriptDtlsDesc")
@ApiOperation("通讯脚本回显")
@ApiImplicitParam(name = "param", value = "检测脚本", required = true)
public HttpResult<String> getScriptDtlsDesc(@RequestBody @Validated ScriptParam.Desc param) {
String methodDescribe = getMethodDescribe("getScriptDtlsDesc");
String checkData = pqScriptDtlsService.getScriptDtlsDesc(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, checkData, methodDescribe);
}
}

View File

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @author caozehui
@@ -25,4 +27,23 @@ public class ScriptParam {
@ApiModelProperty("是否启用脚本(状态0-不启用 1-启用)")
private Integer enable;
@Data
public static class Desc{
@ApiModelProperty("检测脚本id")
@NotBlank(message = DetectionValidMessage.ID_FORMAT_ERROR)
private String scriptId;
@ApiModelProperty("检测脚本序号")
@NotNull(message = "检测脚本序号错误,请检查参数是否为空")
private Integer index;
@ApiModelProperty("额定电压")
private BigDecimal devVolt;
@ApiModelProperty("额定电流")
private BigDecimal devCurr;
}
}

View File

@@ -113,4 +113,12 @@ public interface IPqScriptDtlsService extends IService<PqScriptDtls> {
*/
List<PqScriptCheckData> checkDataList(ScriptParam param);
/**
* @Description: 获取脚本详情描述
* @param param
* @return: java.lang.String
* @Author: wr
* @Date: 2025/3/31 9:40
*/
String getScriptDtlsDesc(ScriptParam.Desc param);
}

View File

@@ -192,7 +192,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
checkDataParam.setIndex(freqDtls.getScriptIndex());
checkDataParam.setIsValueTypeName(true);
issue.setDevValueTypeList(pqScriptCheckDataService.getValueType(checkDataParam));
issue.setDesc(ScriptDtlsDesc.getStringBuffer(value,true, isValueType).toString());
issue.setDesc(ScriptDtlsDesc.getStringBuffer(value, true, isValueType).toString());
issue.setScriptId(freqDtls.getScriptId());
issue.setFUn(volt);
issue.setFIn(curr);
@@ -648,6 +648,39 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl<PqScriptDtlsMapper, PqS
return Collections.emptyList();
}
@Override
public String getScriptDtlsDesc(ScriptParam.Desc param) {
Boolean isValueType = pqScriptMapper.selectScriptIsValueType(param.getScriptId());
MPJLambdaWrapper<PqScriptDtls> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(PqScriptDtls.class)
.selectAs(DictTree::getCode, PqScriptDtls::getScriptCode)
.leftJoin(DictTree.class, DictTree::getId, PqScriptDtls::getScriptType)
.in(PqScriptDtls::getScriptIndex, param.getIndex())
.eq(PqScriptCheckData::getEnable, DataStateEnum.ENABLE.getCode())
.orderByAsc(PqScriptCheckData::getScriptIndex)
.eq(PqScriptDtls::getScriptId, param.getScriptId());
//先获取检测脚本类型是否相对值 true相对值 false绝对值相对值要乘额定值,绝对值不需要处理)
List<PqScriptDtls> pqScriptDtls = this.getBaseMapper().selectJoinList(PqScriptDtls.class, queryWrapper);
if (isValueType) {
for (PqScriptDtls pqScriptDtl : pqScriptDtls) {
if (VOL.equals(pqScriptDtl.getValueType())) {
BigDecimal volValue = new BigDecimal(pqScriptDtl.getValue());
BigDecimal result = volValue.multiply(param.getDevVolt())
.divide(new BigDecimal(100), 4, BigDecimal.ROUND_HALF_UP);
pqScriptDtl.setValue(result.doubleValue());
}
if (CUR.equals(pqScriptDtl.getValueType())) {
BigDecimal volValue = new BigDecimal(pqScriptDtl.getValue());
BigDecimal result = volValue.multiply(param.getDevCurr())
.divide(new BigDecimal(100), 4, BigDecimal.ROUND_HALF_UP);
pqScriptDtl.setValue(result.doubleValue());
}
}
}
return ScriptDtlsDesc.getStringBuffer(pqScriptDtls, true, isValueType).toString();
}
private void unbanCheck(List<PqScriptDtlsParam.CheckData> info,
PqScriptDtlsParam.CheckData channelListDTO,
List<PqScriptDtlsParam.ChannelListDTO> list,