From 76ec26dca07efc8314721f01143c82c2c550af34 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Mon, 17 Feb 2025 16:32:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A3=80=E6=B5=8B=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=EF=BC=8C=E8=B0=83=E6=95=B4=E6=A3=80=E6=B5=8B=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E8=BF=94=E5=9B=9E=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../script/controller/PqScriptController.java | 10 +- .../script/mapper/PqScriptDtlsMapper.java | 7 ++ .../mapper/mapping/PqScriptDtlsMapper.xml | 10 ++ .../gather/script/pojo/po/PqScriptDtls.java | 3 + .../script/service/IPqScriptDtlsService.java | 9 ++ .../script/service/IPqScriptService.java | 2 +- .../service/impl/PqScriptDtlsServiceImpl.java | 112 +++++++++++++++++- .../service/impl/PqScriptServiceImpl.java | 5 +- 8 files changed, 149 insertions(+), 9 deletions(-) diff --git a/detection/src/main/java/com/njcn/gather/script/controller/PqScriptController.java b/detection/src/main/java/com/njcn/gather/script/controller/PqScriptController.java index f07e4fc5..280186cb 100644 --- a/detection/src/main/java/com/njcn/gather/script/controller/PqScriptController.java +++ b/detection/src/main/java/com/njcn/gather/script/controller/PqScriptController.java @@ -59,12 +59,12 @@ public class PqScriptController extends BaseController { @PostMapping("/add") @ApiOperation("新增检测脚本") @ApiImplicitParam(name = "pqDevParam", value = "检测脚本", required = true) - public HttpResult add(@RequestBody @Validated PqScriptParam param) { + public HttpResult add(@RequestBody @Validated PqScriptParam param) { String methodDescribe = getMethodDescribe("add"); LogUtil.njcnDebug(log, "{},新增数据为:{}", methodDescribe, param); - boolean result = pqScriptService.addPqScript(param); - if (result) { - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + String result = pqScriptService.addPqScript(param); + if (StrUtil.isNotBlank(result)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } else { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); } @@ -150,7 +150,7 @@ public class PqScriptController extends BaseController { String jsonString = JSON.toJSONString(sourceIssue,SerializerFeature.WriteNullStringAsEmpty); System.out.println(); } - String jsonString =sourceIssues.get(0).toString(); + String jsonString =JSON.toJSONString(sourceIssues); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sourceIssues, methodDescribe); } } diff --git a/detection/src/main/java/com/njcn/gather/script/mapper/PqScriptDtlsMapper.java b/detection/src/main/java/com/njcn/gather/script/mapper/PqScriptDtlsMapper.java index a070c42f..5174fb9b 100644 --- a/detection/src/main/java/com/njcn/gather/script/mapper/PqScriptDtlsMapper.java +++ b/detection/src/main/java/com/njcn/gather/script/mapper/PqScriptDtlsMapper.java @@ -2,6 +2,7 @@ package com.njcn.gather.script.mapper; import com.github.yulichang.base.MPJBaseMapper; import com.njcn.gather.script.pojo.po.PqScriptDtls; +import org.apache.ibatis.annotations.Param; /** * @author caozehui @@ -9,5 +10,11 @@ import com.njcn.gather.script.pojo.po.PqScriptDtls; */ public interface PqScriptDtlsMapper extends MPJBaseMapper { + /** + * 获取当前检测脚本最大index值 + * @param scriptId + * @return + */ + Integer selectMaxIndex(@Param("scriptId") String scriptId); } diff --git a/detection/src/main/java/com/njcn/gather/script/mapper/mapping/PqScriptDtlsMapper.xml b/detection/src/main/java/com/njcn/gather/script/mapper/mapping/PqScriptDtlsMapper.xml index db1f67f3..d497a316 100644 --- a/detection/src/main/java/com/njcn/gather/script/mapper/mapping/PqScriptDtlsMapper.xml +++ b/detection/src/main/java/com/njcn/gather/script/mapper/mapping/PqScriptDtlsMapper.xml @@ -3,5 +3,15 @@ + diff --git a/detection/src/main/java/com/njcn/gather/script/pojo/po/PqScriptDtls.java b/detection/src/main/java/com/njcn/gather/script/pojo/po/PqScriptDtls.java index 203e87fc..c5d3eef0 100644 --- a/detection/src/main/java/com/njcn/gather/script/pojo/po/PqScriptDtls.java +++ b/detection/src/main/java/com/njcn/gather/script/pojo/po/PqScriptDtls.java @@ -1,6 +1,8 @@ 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; import lombok.Data; @@ -18,6 +20,7 @@ public class PqScriptDtls implements Serializable { /** * 检测脚本子表ID */ + @TableId(value = "Id", type = IdType.ASSIGN_UUID) private String id; /** diff --git a/detection/src/main/java/com/njcn/gather/script/service/IPqScriptDtlsService.java b/detection/src/main/java/com/njcn/gather/script/service/IPqScriptDtlsService.java index bd8f0b55..a519de71 100644 --- a/detection/src/main/java/com/njcn/gather/script/service/IPqScriptDtlsService.java +++ b/detection/src/main/java/com/njcn/gather/script/service/IPqScriptDtlsService.java @@ -69,4 +69,13 @@ public interface IPqScriptDtlsService extends IService { * @return index列表 */ List getIndexList(String scriptType, String scriptId); + + /** + * 检测脚本单次小项数据新增 + * @param sourceIssue + * @return + */ + Boolean saveScriptDtls(SourceIssue sourceIssue); + + Boolean saveCheck(); } diff --git a/detection/src/main/java/com/njcn/gather/script/service/IPqScriptService.java b/detection/src/main/java/com/njcn/gather/script/service/IPqScriptService.java index 384db305..c2300c17 100644 --- a/detection/src/main/java/com/njcn/gather/script/service/IPqScriptService.java +++ b/detection/src/main/java/com/njcn/gather/script/service/IPqScriptService.java @@ -36,7 +36,7 @@ public interface IPqScriptService extends IService { * @param param 检测脚本 * @return 成功返回true, 失败返回false */ - boolean addPqScript(PqScriptParam param); + String addPqScript(PqScriptParam param); /** * 删除检测脚本 diff --git a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java index 0ec8670f..d313e8fd 100644 --- a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java @@ -220,6 +220,114 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl info = new ArrayList<>(); + Integer i = this.baseMapper.selectMaxIndex(sourceIssue.getScriptId()); + //频率赋值 + PqScriptDtls dtls = setScriptDtls(sourceIssue, i); + dtls.setValueType(FREQ); + dtls.setPhase("T"); + dtls.setValue(sourceIssue.getFFreq()); + dtls.setAngle(0.0); + info.add(dtls); + //开始遍历通道信息 + for (SourceIssue.ChannelListDTO channelListDTO : sourceIssue.getChannelList()) { + String phase = channelListDTO.getChannelType().substring(0, 1); + //电压或者电流 + if (channelListDTO.getChannelFlag()) { + PqScriptDtls uOri = setScriptDtls(sourceIssue, i); + uOri.setPhase(phase); + if (channelListDTO.getChannelType().contains("U")) { + uOri.setValueType(VOL); + } + if (channelListDTO.getChannelType().contains("I")) { + uOri.setValueType(CUR); + } + uOri.setValue(channelListDTO.getFAmp()); + uOri.setAngle(channelListDTO.getFPhase()); + info.add(uOri); + } + //谐波值 + if (channelListDTO.getHarmFlag()) { + List harmList = channelListDTO.getHarmList(); + for (SourceIssue.ChannelListDTO.HarmModel harmModel : harmList) { + PqScriptDtls harm = setScriptDtls(sourceIssue, i); + if (channelListDTO.getChannelType().contains("U")) { + harm.setValueType(HARM_V); + } + if (channelListDTO.getChannelType().contains("I")) { + harm.setValueType(HARM_I); + } + harm.setPhase(phase); + harm.setHarmNum(harmModel.getHarm()); + harm.setValue(harmModel.getFAmp()); + harm.setAngle(harmModel.getFPhase()); + info.add(harm); + } + } + //间谐波 + if (channelListDTO.getInHarmFlag()) { + List inharmList = channelListDTO.getInharmList(); + for (SourceIssue.ChannelListDTO.InharmModel inharmModel : inharmList) { + PqScriptDtls inHarm = setScriptDtls(sourceIssue, i); + if (channelListDTO.getChannelType().contains("U")) { + inHarm.setValueType(INHARM_V); + } + if (channelListDTO.getChannelType().contains("I")) { + inHarm.setValueType(INHARM_I); + } + inHarm.setPhase(phase); + inHarm.setHarmNum(inharmModel.getInharm()); + inHarm.setValue(inharmModel.getFAmp()); + inHarm.setAngle(inharmModel.getFPhase()); + info.add(inHarm); + } + } + //暂态 + if (channelListDTO.getDipFlag()) { + SourceIssue.ChannelListDTO.DipDataDTO dipData = channelListDTO.getDipData(); + PqScriptDtls dip = setScriptDtls(sourceIssue, i); + dip.setValueType(DIP); + dip.setPhase(phase); + dip.setTransValue(dipData.getFTransValue()); + dip.setRetainTime(dipData.getRetainTime()); + info.add(dip); + + } + //闪变 + if (channelListDTO.getFlickerFlag()) { + SourceIssue.ChannelListDTO.FlickerDataDTO flickerData = channelListDTO.getFlickerData(); + PqScriptDtls dip = setScriptDtls(sourceIssue, i); + dip.setValueType(DIP); + dip.setPhase(phase); + dip.setChagFre(flickerData.getFChagFre()); + dip.setChagValue(flickerData.getFChagValue()); + info.add(dip); + } + } + if (CollUtil.isNotEmpty(info)) { + this.saveBatch(info); + } + return false; + } + + @Override + public Boolean saveCheck() { + return null; + } + + private PqScriptDtls setScriptDtls(SourceIssue sourceIssue, Integer i) { + PqScriptDtls dtls = new PqScriptDtls(); + dtls.setScriptId(sourceIssue.getScriptId()); + dtls.setIndex(i); + dtls.setScriptType(sourceIssue.getScriptId()); + dtls.setScriptSubType(sourceIssue.getScriptId()); + dtls.setEnable(DataStateEnum.ENABLE.getCode()); + return dtls; + } + public List pqScriptDtls(String scriptId, String isPhaseSequence, Double volt, Double curr, List indexList) { List pqScriptDtls; MPJLambdaWrapper queryWrapper = new MPJLambdaWrapper<>(); @@ -230,7 +338,9 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl i @Override @Transactional(rollbackFor = {Exception.class}) - public boolean addPqScript(PqScriptParam param) { + public String addPqScript(PqScriptParam param) { PqScript pqScript = new PqScript(); BeanUtils.copyProperties(param, pqScript); pqScript.setStandardTime(LocalDate.of(Integer.parseInt(param.getStandardTime()), 1, 1)); pqScript.setState(DataStateEnum.ENABLE.getCode()); - return this.save(pqScript); + this.save(pqScript); + return pqScript.getId(); } @Override