diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java index 81e698ef4..732fccd05 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java @@ -4,7 +4,6 @@ import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pq.api.fallback.DeptLineFeignClientFallbackFactory; import com.njcn.device.pq.pojo.po.DeptLine; -import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -39,4 +38,13 @@ public interface DeptLineFeignClient { @PostMapping("/getLineByLineIds") HttpResult getLineByLineIds(@RequestParam("id") String ids); + /** + * @Description: 部门Id获取所有子集部门绑定监测点 + * @Param: + * @return: com.njcn.common.pojo.response.HttpResult> + * @Author: clam + * @Date: 2024/5/29 + */ + @PostMapping("/getLineNodeByDeptId") + HttpResult> getLineNodeByDeptId(@RequestParam("id") String id); } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/TerminalBaseClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/TerminalBaseClient.java index 490dd3223..711bf0ff4 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/TerminalBaseClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/TerminalBaseClient.java @@ -3,13 +3,12 @@ package com.njcn.device.pq.api; import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pq.api.fallback.TerminalBaseClientFallbackFactory; +import com.njcn.device.pq.pojo.param.SyncTerminalParam; import com.njcn.device.pq.pojo.po.Line; -import com.njcn.device.pq.pojo.vo.TerminalBaseVO; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -32,7 +31,11 @@ public interface TerminalBaseClient { */ @PostMapping("/getSubstationById") HttpResult> getSubstationById(@RequestBody List list); + /* + 冀北技术监督台账同步 + */ - - + @ApiOperation("终端/母线/监测点同步操作") + @PostMapping("terminalSync") + HttpResult terminalSync( @RequestBody SyncTerminalParam syncTerminalParam); } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java index 3aa77709f..7a807ce56 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java @@ -62,6 +62,12 @@ public class DeptLineFeignClientFallbackFactory implements FallbackFactory> getLineNodeByDeptId(String id) { + log.error("{}异常,降级处理,异常为:{}", "根据部门信息id查询监测点id集合", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/TerminalBaseClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/TerminalBaseClientFallbackFactory.java index 019b6215b..11f0f0dae 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/TerminalBaseClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/TerminalBaseClientFallbackFactory.java @@ -4,6 +4,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pq.api.TerminalBaseClient; +import com.njcn.device.pq.pojo.param.SyncTerminalParam; import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.biz.utils.DeviceEnumUtil; import feign.hystrix.FallbackFactory; @@ -37,6 +38,12 @@ public class TerminalBaseClientFallbackFactory implements FallbackFactory terminalSync(SyncTerminalParam syncTerminalParam) { + log.error("{}异常,降级处理,异常为:{}", "台账同步", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SyncTerminalParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SyncTerminalParam.java new file mode 100644 index 000000000..39b6e9899 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SyncTerminalParam.java @@ -0,0 +1,59 @@ +package com.njcn.device.pq.pojo.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.Valid; + +/** + * pqs + * 终端新增操作bo + * @author cdf + * @date 2021/7/2 + */ +@Data +@ApiModel +public class SyncTerminalParam { + + private String DeptId; + + @ApiModelProperty(name = "projectIndex",value = "项目索引") + private String projectIndex; + + @ApiModelProperty(name = "provinceIndex",value = "省份索引") + private String provinceIndex; + + @ApiModelProperty(name = "gdIndex",value = "供电索引") + private String gdIndex; + + @ApiModelProperty(name = "subIndex",value = "变电站索引") + private String subIndex; + + @Valid + @ApiModelProperty(name = "projectParam",value = "项目实体") + private ProjectParam projectParam; + + @Valid + @ApiModelProperty(name = "provinceParam",value = "省份实体") + private ProvinceParam provinceParam; + + @Valid + @ApiModelProperty(name = "gdInformationParam",value = "供电公司") + private GdInformationParam gdInformationParam; + + @Valid + @ApiModelProperty(name = "subStationParam",value = "变电站") + private SubStationParam subStationParam; + + @ApiModelProperty(name = "deviceParam",value = "设备信息") + private DeviceParam deviceParam; + + @ApiModelProperty(name = "subVoltageParam",value = "母线信息") + @Valid + private SubVoltageParam subVoltageParam; + + @ApiModelProperty(name = "lineParam",value = "监测点信息") + private LineParam lineParam; + +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java index 873e69ca0..dc4421010 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalBaseController.java @@ -3,7 +3,6 @@ package com.njcn.device.pq.controller; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.enums.common.LogEnum; @@ -13,7 +12,6 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; import com.njcn.device.biz.enums.DeviceResponseEnum; -import com.njcn.device.biz.utils.COverlimitUtil; import com.njcn.device.pq.mapper.LineDetailMapper; import com.njcn.device.pq.mapper.LineMapper; import com.njcn.device.pq.mapper.OverlimitMapper; @@ -23,9 +21,6 @@ import com.njcn.device.pq.pojo.bo.excel.TerminalBaseExcel; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.*; import com.njcn.device.pq.pojo.po.Line; -import com.njcn.device.pq.pojo.po.LineDetail; -import com.njcn.device.biz.pojo.po.Overlimit; -import com.njcn.device.pq.pojo.po.Voltage; import com.njcn.device.pq.pojo.vo.LineWiringDiagramVO; import com.njcn.device.pq.pojo.vo.TerminalBaseVO; import com.njcn.device.pq.pojo.vo.TerminalVO; @@ -33,7 +28,6 @@ import com.njcn.device.pq.service.TerminalBaseService; import com.njcn.device.pq.service.impl.GeneralDeviceService; import com.njcn.poi.util.PoiUtil; import com.njcn.system.api.DicDataFeignClient; -import com.njcn.system.pojo.po.DictData; import com.njcn.web.controller.BaseController; import io.swagger.annotations.*; import lombok.RequiredArgsConstructor; @@ -149,6 +143,17 @@ public class TerminalBaseController extends BaseController { } + @ApiOperation("终端/母线/监测点同步操作") + @OperateInfo(operateType = OperateType.ADD, info = LogEnum.BUSINESS_MEDIUM) + @PostMapping("terminalSync") + public HttpResult terminalSync(@Valid @RequestBody SyncTerminalParam syncTerminalParam) { + String methodDescribe = getMethodDescribe("terminalSync"); + + terminalBaseService.terminalSync(syncTerminalParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + /** * 终端修改操作 * diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java index ff04a8c46..efec6fa02 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalBaseService.java @@ -1,20 +1,17 @@ package com.njcn.device.pq.service; import com.njcn.common.pojo.dto.SimpleDTO; -import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pq.pojo.bo.BaseLineInfo; import com.njcn.device.pq.pojo.bo.DeviceType; import com.njcn.device.pq.pojo.bo.excel.TerminalBaseExcel; import com.njcn.device.pq.pojo.param.AddTerminalParam; import com.njcn.device.pq.pojo.param.DeviceInfoParam; +import com.njcn.device.pq.pojo.param.SyncTerminalParam; import com.njcn.device.pq.pojo.param.UpdateTerminalParam; import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.vo.LineWiringDiagramVO; import com.njcn.device.pq.pojo.vo.TerminalBaseVO; import com.njcn.device.pq.pojo.vo.TerminalVO; -import io.swagger.annotations.ApiParam; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -238,4 +235,12 @@ public interface TerminalBaseService { * @date 2023/6/15 */ boolean wiringDiagramDel(String lineId,String wiringDiagramName); + /** + * @Description: 临时表数据同步到台账表 + * @Param: + * @return: void + * @Author: clam + * @Date: 2024/5/29 + */ + boolean terminalSync(SyncTerminalParam syncTerminalParam); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java index 6564e06ba..b75efc12f 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java @@ -143,7 +143,7 @@ public class DeptLineServiceImpl extends ServiceImpl i @Override public List getLineDetailByDeptId(String id) { - List lineByDeptId = this.getLineByDeptId(id); + List lineByDeptId = this.getLineNodeByDeptId(id); List lineDeviceStateVO = lineMapper.getLineDeviceStateVO(lineByDeptId); return lineDeviceStateVO; } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java index d0d7c1d81..3e5fee4c3 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java @@ -1810,6 +1810,177 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple return true; } + @Override + @Transactional(rollbackFor = Exception.class) + public boolean terminalSync(SyncTerminalParam syncTerminalParam) { + String projectIndex = null; + String provinceIndex = null; + String gdIndex = null; + String subIndex = null; + if (StrUtil.isNotBlank(syncTerminalParam.getProjectIndex())) { + projectIndex = syncTerminalParam.getProjectIndex(); + if (Objects.isNull(this.getById(projectIndex))) { + throw new BusinessException(DeviceResponseEnum.PROJECT_NO); + } + } + if (StrUtil.isNotBlank(syncTerminalParam.getProvinceIndex())) { + provinceIndex = syncTerminalParam.getProvinceIndex(); + if (Objects.isNull(this.getById(provinceIndex))) { + throw new BusinessException(DeviceResponseEnum.PROVINCE_GET_ERROR); + } + } + if (StrUtil.isNotBlank(syncTerminalParam.getGdIndex())) { + gdIndex = syncTerminalParam.getGdIndex(); + if (Objects.isNull(this.getById(gdIndex))) { + throw new BusinessException(DeviceResponseEnum.GD_NO); + } + } + if (StrUtil.isNotBlank(syncTerminalParam.getSubIndex())) { + subIndex = syncTerminalParam.getSubIndex(); + if (Objects.isNull(this.getById(subIndex))) { + throw new BusinessException(DeviceResponseEnum.SUB_NO); + } + } + + + + //变电站 todo 可能新建电站 +// if (Objects.nonNull(addTerminalParam.getSubStationParam())) { +// if (StrUtil.isBlank(subIndex) && StrUtil.isNotBlank(gdIndex)) { +// checkName(addTerminalParam, LineBaseEnum.SUB_LEVEL.getCode(), gdIndex); +// Line subStation = assembleLine(addTerminalParam.getSubStationParam().getName(), LineBaseEnum.SUB_LEVEL.getCode(), gdIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex, addTerminalParam.getSubStationParam().getSort()); +// this.baseMapper.insert(subStation); +// subIndex = subStation.getId(); +// +// //变电站下的经纬度入库 +// Substation sub = new Substation(); +// sub.setId(subIndex); +// sub.setScale(addTerminalParam.getSubStationParam().getScale()); +// sub.setLng(addTerminalParam.getSubStationParam().getLng()); +// sub.setLat(addTerminalParam.getSubStationParam().getLat()); +// substationMapper.insert(sub); +// } +// } + + //装置 + + //查询该设备是否已经同步到表如何存在则之前同步监测点时同步过了,不用同步设备了,反之同步 + DeviceParam deviceParam = syncTerminalParam.getDeviceParam(); + Line deviceLine = this.baseMapper.selectById(syncTerminalParam.getDeviceParam().getDevIndex()); + if(Objects.isNull(deviceLine)){ + Line device = assembleLine(deviceParam.getName(), LineBaseEnum.DEVICE_LEVEL.getCode(), subIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex, deviceParam.getSort()); + device.setId(deviceParam.getDevIndex()); + this.baseMapper.insert(device); + + //装置详情 + Device deviceDetail = new Device(); + BeanUtils.copyProperties(deviceParam, deviceDetail); + deviceDetail.setId(device.getId()); + deviceDetail.setRunFlag(0); + deviceDetail.setCallFlag(0); + deviceDetail.setComFlag(0); + deviceDetail.setCheckFlag(1); + deviceDetail.setThisTimeCheck(PubUtils.localDateFormat(deviceParam.getThisTimeCheck())); + deviceDetail.setNextTimeCheck(PubUtils.localDateFormat(deviceParam.getNextTimeCheck())); + deviceDetail.setLoginTime(PubUtils.localDateFormat(deviceParam.getNextTimeCheck())); + deviceDetail.setUpdateTime(LocalDateTime.now()); + + //处理装置识别码秘钥 + + deviceMapper.insert(deviceDetail); + //装置功能 todo确定devFuction +// List funList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.DEV_FUN.getName()).getData(); +// if (CollectionUtil.isEmpty(funList)) { +// throw new BusinessException(DeviceResponseEnum.DIC_GET_EMPTY); +// } +// +// List insertFunList = new ArrayList<>(); +// for (DictData dicData : funList) { +// DevFuction devFunction = new DevFuction(); +// devFunction.setLineId(device.getId()); +// devFunction.setFucName(dicData.getId()); +// devFunction.setId(IdUtil.simpleUUID()); +// insertFunList.add(devFunction); +// } +// QueryWrapper funQueryWrapper = new QueryWrapper<>(); +// funQueryWrapper.lambda().eq(DevFuction::getLineId, device.getId()); +// devFuctionMapper.delete(funQueryWrapper); +// devFuctionMapper.addBatch(insertFunList); + } + + //处理母线 + SubVoltageParam subVoltageParam = syncTerminalParam.getSubVoltageParam(); + String subvIndex = null; + //如果电站下存在同名母线则将监测点挂在下面反之新建母线 + //同一变电站下只能有唯一母线名称 + Line SubVoltage = this.lambdaQuery().eq(Line::getName, subVoltageParam.getName()).like(Line::getPids, syncTerminalParam.getSubIndex()).one(); + + if(Objects.isNull(SubVoltage)){ + //新建母线 + Line subVoltage = assembleLine(subVoltageParam.getName(), LineBaseEnum.SUB_V_LEVEL.getCode(), deviceParam.getDevIndex(), projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + deviceParam.getDevIndex(), subVoltageParam.getSort()); + this.baseMapper.insert(subVoltage); + subvIndex = subVoltage.getId(); + Voltage voltage = new Voltage(); + voltage.setId(subVoltage.getId()); + voltage.setNum(subVoltageParam.getNum()); + DictData scaleRes = dicDataFeignClient.getDicDataById(subVoltageParam.getScale()).getData(); + + voltage.setScale(scaleRes.getId()); + voltage.setModel(subVoltageParam.getModel()); + voltageMapper.insert(voltage); + }else { + subvIndex=SubVoltage.getId(); + } + + //处理监测点 + LineParam lineParam = syncTerminalParam.getLineParam(); + + Line line = assembleLine(lineParam.getName(), LineBaseEnum.LINE_LEVEL.getCode(), subvIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + deviceParam.getDevIndex() + StrUtil.COMMA + subvIndex, lineParam.getSort()); + line.setId(lineParam.getLineIndex()); + this.baseMapper.insert(line); + LineDetail lineDetail = new LineDetail(); + BeanUtils.copyProperties(lineParam, lineDetail); + lineDetail.setId(line.getId()); + + //判断国网监测点id + if (StrUtil.isNotBlank(lineDetail.getMonitorId())) { + lineDetail.setMonitorFlag(1); + } else { + lineDetail.setMonitorFlag(0); + } + + lineDetailMapper.insert(lineDetail); + + //通过监测点id获取母线电压等级 + Voltage voltage = lineMapper.getVoltageByLineId(line.getId()); + //监测点限值 + DictData scaleResult = dicDataFeignClient.getDicDataById(voltage.getScale()).getData(); + float scaTmp = Float.parseFloat(scaleResult.getValue()); + Overlimit overlimit = COverlimitUtil.globalAssemble(scaTmp, lineDetail.getDealCapacity(), lineDetail.getDevCapacity(), lineDetail.getShortCapacity(), 1, 0); + + if (Objects.isNull(lineParam.getVoltageDev())) { + overlimit.setVoltageDev(overlimit.getVoltageDev()); + } else { + overlimit.setVoltageDev(lineParam.getVoltageDev()); + } + if (Objects.isNull(lineParam.getUvoltageDev())) { + overlimit.setUvoltageDev(overlimit.getUvoltageDev()); + } else { + overlimit.setUvoltageDev(lineParam.getUvoltageDev()); + } + //Overlimit overlimit = new Overlimit(line.getId(), scaTmp, lineDetail.getShortCapacity(), lineDetail.getStandardCapacity(), lineDetail.getDealCapacity(), lineDetail.getDevCapacity()); + overlimitMapper.deleteById(line.getId()); + + overlimit.setId(line.getId()); + overlimitMapper.insert(overlimit); + DeptLine deptLine = new DeptLine(); + deptLine.setId(syncTerminalParam.getDeptId()); + deptLine.setLineId(line.getId()); + deptLineMapper.insert(deptLine); + + return true; + } + private String saveTerminalInfo(List oracleTerminalExcels, List overLimitExcels) { List oracleTerminalExcelMsg = new ArrayList<>(); diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RMpPartHarmonicDetailQueryParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RMpPartHarmonicDetailQueryParam.java index 295ab5cbe..486254b45 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RMpPartHarmonicDetailQueryParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RMpPartHarmonicDetailQueryParam.java @@ -16,6 +16,8 @@ import java.util.List; @Data public class RMpPartHarmonicDetailQueryParam extends BaseParam { + private String orgNo; + /** * 统计起始日期 */ diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RMpPartHarmonicDetailDServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RMpPartHarmonicDetailDServiceImpl.java index 3d625c5cd..33fbf28e9 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RMpPartHarmonicDetailDServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RMpPartHarmonicDetailDServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.biz.commApi.CommLineClient; import com.njcn.device.biz.pojo.dto.LineALLInfoDTO; +import com.njcn.device.pq.api.DeptLineFeignClient; import com.njcn.harmonic.mapper.majornetwork.RMpPartHarmonicDetailDMapper; import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO; import com.njcn.harmonic.pojo.param.RMpPartHarmonicDetailQueryParam; @@ -21,6 +22,7 @@ import com.njcn.system.pojo.po.DictData; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.time.LocalDate; import java.time.LocalDateTime; @@ -45,6 +47,7 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl getRMpPartHarmonicDetailIcon(StatisticsBizBaseParam param) { @@ -53,16 +56,22 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param) { - System.out.println(LocalDateTime.now()); - List rStatLimitRateDPOs = irStatLimitRateDService.lambdaQuery().eq(RStatLimitRateDPO::getPhasicType,"T").between(RStatLimitRateDPO::getTime, param.getStartTime()+" 00:00:00", param.getEndTime()+" 23:59:59").list(); + + List lineIdLists = deptLineFeignClient.getLineNodeByDeptId(param.getOrgNo()).getData(); + if (CollectionUtils.isEmpty(lineIdLists)){ + return new Page(param.getPageNum(),param.getPageSize()); + } + + List rStatLimitRateDPOs = irStatLimitRateDService.lambdaQuery() + .in(RStatLimitRateDPO::getLineId,lineIdLists) + .eq(RStatLimitRateDPO::getPhasicType,"T") + .between(RStatLimitRateDPO::getTime, param.getStartTime()+" 00:00:00", param.getEndTime()+" 23:59:59").list(); List rMpPartHarmonicDetailDTOS = new ArrayList<>(); LocalDate date = LocalDate.parse(param.getStartTime()); YearMonth yearMonth = YearMonth.from(date); int daysInMonth = yearMonth.lengthOfMonth(); - System.out.println(LocalDateTime.now()); /*获取稳态统计指标*/ List steadyStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData(); - System.out.println(LocalDateTime.now()); rStatLimitRateDPOs.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId)).forEach((k, v) -> { // LineALLInfoDTO lineALLInfoDTO = tempMap.get(k); steadyStatis.forEach(dictData -> { @@ -89,16 +98,13 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl result = rMpPartHarmonicDetailDTOS.stream(). filter(temp -> CollectionUtil.isEmpty(param.getHarmonicTypes()) ||param.getHarmonicTypes().contains(temp.getHarmonicType())). collect(Collectors.toList()); - System.out.println(LocalDateTime.now()); //合并指标天数计算连续超标天数,及总超标天数 Map> map = result.stream().collect(Collectors.groupingBy(RMpPartHarmonicDetailDTO::getMeasurementPointId)); - System.out.println(LocalDateTime.now()); List rMpPartHarmonicDetailDTOList = new ArrayList<>(); //获取所有指标类型,如何前端为空则将所有子表类型塞入HarmonicTypes @@ -129,14 +135,12 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl temp = new Page<>(param.getPageNum(),param.getPageSize()); temp.setTotal(rMpPartHarmonicDetailDTOList.size()); List collect1 = rMpPartHarmonicDetailDTOList.stream() .skip((param.getPageNum() - 1) * param.getPageSize()) // 跳过前面的数据项 .limit(param.getPageSize()) // 取出指定数量的数据 .collect(Collectors.toList()); - System.out.println(LocalDateTime.now()); //获取监测点详情 List lineIds = collect1.stream().map(RMpPartHarmonicDetailDTO::getMeasurementPointId).distinct().collect(Collectors.toList()); diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempDeviceReportParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempDeviceReportParam.java index 5beba785e..e7f12189a 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempDeviceReportParam.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempDeviceReportParam.java @@ -222,5 +222,7 @@ public class SupervisionTempDeviceReportParam { @ApiModelProperty(value="合同号") private String contractNumber; + private String frontType; + } \ No newline at end of file diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempLineReportParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempLineReportParam.java index 83174db6a..83601702d 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempLineReportParam.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempLineReportParam.java @@ -216,6 +216,16 @@ public class SupervisionTempLineReportParam { @ApiModelProperty(value="电压偏差下限") private Float voltageDeviationLowerLimit; + /** + * 线路号 + */ + private Integer num; + + /** + * 线路号 + */ + private Integer ptType; + @ApiModelProperty("发起人自选审批人 Map") private Map> startUserSelectAssignees; diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/user/UserReportNormalParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/user/UserReportNormalParam.java index f617ae929..67b97aa08 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/user/UserReportNormalParam.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/user/UserReportNormalParam.java @@ -1,7 +1,5 @@ package com.njcn.supervision.pojo.param.user; -import com.baomidou.mybatisplus.annotation.TableName; -import com.njcn.db.bo.BaseEntity; import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -45,6 +43,11 @@ public class UserReportNormalParam extends BaseParam { * 1:审批中;2:审批通过;3:审批不通过;4:已取消 */ private String status; + @ApiModelProperty(value="所属区域") + private String city; + + @ApiModelProperty(value = "工程名称") + private String projectName; @ApiModelProperty("发起人自选审批人 Map") diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/user/UserReportParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/user/UserReportParam.java index 2108e0dc4..0c578b64c 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/user/UserReportParam.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/user/UserReportParam.java @@ -7,7 +7,6 @@ import com.njcn.supervision.pojo.po.user.UserReportSensitivePO; import com.njcn.supervision.pojo.po.user.UserReportSubstationPO; import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModelProperty; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; @@ -141,6 +140,10 @@ public class UserReportParam extends BaseEntity { @ApiModelProperty(value="所属区域") private String city; + @ApiModelProperty(value = "工程名称") + private String projectName; + + @ApiModelProperty(value="数据来源类型 0:正常审核流程 1:批量导入") private Integer dataType; diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempDeviceReport.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempDeviceReport.java index 4e0f6e6f2..ef7d9130a 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempDeviceReport.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempDeviceReport.java @@ -219,5 +219,8 @@ public class SupervisionTempDeviceReport { @TableField(value = "contract_number") private String contractNumber; + @TableField(value = "front_type") + private String frontType; + } \ No newline at end of file diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineDebugPO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineDebugPO.java index fff03c4f1..ef61b3394 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineDebugPO.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineDebugPO.java @@ -44,7 +44,7 @@ public class SupervisionTempLineDebugPO extends BaseEntity { * 1:审批中;2:审批通过;3:审批不通过;4:已取消 */ @TableField(value = "`status`") - @ApiModelProperty(value="1:审批中;2:审批通过;3:审批不通过;4:已取消") + @ApiModelProperty(value="1:审批中;2:审批通过;3:审批不通过;4:已取消,5数据同步完成") private Integer status; /** diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineReport.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineReport.java index bd744efde..cb2632568 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineReport.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineReport.java @@ -137,6 +137,7 @@ public class SupervisionTempLineReport extends BaseEntity { @TableField(value = "monitoring_terminal_code") private String monitoringTerminalCode; + /** * 监测终端名称 */ @@ -171,6 +172,17 @@ public class SupervisionTempLineReport extends BaseEntity { */ @TableField(value = "is_statistical") private String isStatistical; + /** + * 线路号 + */ + @TableField(value = "num") + private Integer num; + + /** + * 线路号 + */ + @TableField(value = "pt_type") + private Integer ptType ; /** * 监测点对象名称 diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineDebugController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineDebugController.java index ba9e2838b..15866f476 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineDebugController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineDebugController.java @@ -96,5 +96,13 @@ public class TempLineDebugController extends BaseController { // String id = supervisionTempLineReportService.cancelTempLineReport(cancelReqVO); // return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe); // } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/ledgerSync") + @ApiOperation("台账同步") + public HttpResult ledgerSync(@RequestParam("id") String id) { + String methodDescribe = getMethodDescribe("ledgerSync"); + String out = supervisionTempLineDebugPOService.ledgerSync(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml index 3980e4803..4b7c0aebc 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml @@ -64,7 +64,7 @@ supervision_temp_line_debug inner JOIN supervision_temp_line_report ON supervision_temp_line_report.id = supervision_temp_line_debug.id left join supervision_temp_line_run_test on supervision_temp_line_debug.id = supervision_temp_line_run_test.id - where supervision_temp_line_debug.`status`=2 + where supervision_temp_line_debug.`status`=5 and ${ew.sqlSegment} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineDebugPOService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineDebugPOService.java index a2c3d3328..7d2c48561 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineDebugPOService.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineDebugPOService.java @@ -25,4 +25,6 @@ public interface SupervisionTempLineDebugPOService extends IService lambdaQueryWrapper = new LambdaQueryWrapper<>(); + private void checkIp(SupervisionDevMainReportParam supervisionDevMainReportParam, boolean isExcludeSelf) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper - .eq(SupervisionDevMainReportPO::getUserId, supervisionDevMainReportParam.getUserId()) - .eq(SupervisionDevMainReportPO::getState, DataStateEnum.ENABLE.getCode()); + .eq(SupervisionTempDeviceReport::getSubstation,supervisionDevMainReportParam.getSupervisionTempDeviceReportParam().getSubstation()) + .eq(SupervisionTempDeviceReport::getTerminalIp, supervisionDevMainReportParam.getSupervisionTempDeviceReportParam().getTerminalIp()); //更新的时候,需排除当前记录 if (isExcludeSelf) { if(supervisionDevMainReportParam instanceof SupervisionDevMainReportParam.SupervisionDevMainReportParamUpdate){ - lambdaQueryWrapper.ne(SupervisionDevMainReportPO::getId, ((SupervisionDevMainReportParam.SupervisionDevMainReportParamUpdate) supervisionDevMainReportParam).getId()); + lambdaQueryWrapper.ne(SupervisionTempDeviceReport::getId, ((SupervisionDevMainReportParam.SupervisionDevMainReportParamUpdate) supervisionDevMainReportParam).getId()); } } - List list = this.baseMapper.selectList(lambdaQueryWrapper); + List list = supervisionTempDeviceReportService.getBaseMapper().selectList(lambdaQueryWrapper); if (CollectionUtil.isNotEmpty(list)) { - //过滤已取消的申请 - list = list.stream() + //过滤已取消的申请和删除的 + List collect = list.stream().map(SupervisionTempDeviceReport::getId).collect(Collectors.toList()); + List list1 = this.lambdaQuery().in(SupervisionDevMainReportPO::getId, collect).list(); + list1 = list1.stream() .filter(userReportPO -> !userReportPO.getStatus().equals(FlowStatusEnum.CANCEL.getCode())) + .filter(userReportPO -> userReportPO.getState().equals(DataStateEnum.ENABLE.getCode())) .collect(Collectors.toList()); //如果还存在,则说明有人申请过了 - if (CollectionUtil.isNotEmpty(list)) { - throw new BusinessException(supervisionDevMainReportParam.getUserName().concat(",扰源用户").concat(list.get(0).getReporter()).concat("绑定")); + if (CollectionUtil.isNotEmpty(list1)) { + throw new BusinessException(supervisionDevMainReportParam.getSupervisionTempDeviceReportParam().getTerminalIp().concat("Ip已占用")); } } } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java index 552a20134..eb47dc6dc 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java @@ -1,7 +1,8 @@ package com.njcn.supervision.service.device.impl; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -11,14 +12,29 @@ import com.njcn.bpm.enums.BpmTaskStatusEnum; import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pq.api.LineFeignClient; +import com.njcn.device.pq.api.TerminalBaseClient; +import com.njcn.device.pq.pojo.param.DeviceParam; +import com.njcn.device.pq.pojo.param.LineParam; +import com.njcn.device.pq.pojo.param.SubVoltageParam; +import com.njcn.device.pq.pojo.param.SyncTerminalParam; +import com.njcn.device.pq.pojo.po.Line; import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper; import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam; +import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport; import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO; import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport; import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO; import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO; +import com.njcn.supervision.service.device.SupervisionDevMainReportPOService; +import com.njcn.supervision.service.device.SupervisionTempDeviceReportService; import com.njcn.supervision.service.device.SupervisionTempLineDebugPOService; import com.njcn.supervision.service.device.SupervisionTempLineReportService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.api.DictTreeFeignClient; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import com.njcn.system.pojo.po.SysDicTreePO; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.api.UserFeignClient; import com.njcn.web.factory.PageFactory; @@ -28,10 +44,9 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @@ -50,8 +65,17 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl data = lineFeignClient.getBaseLineList(Stream.of(tempDevice.getSubstation()).collect(Collectors.toList())).getData(); + String pids = data.get(0).getPids(); + String[] idsArray = pids.split(","); + + SyncTerminalParam syncTerminalParam = new SyncTerminalParam(); + syncTerminalParam.setProjectIndex(idsArray[0]); + syncTerminalParam.setProvinceIndex(idsArray[1]); + syncTerminalParam.setGdIndex(idsArray[2]); + syncTerminalParam.setSubIndex(tempDevice.getSubstation()); + //用于绑定监测点部门 + syncTerminalParam.setDeptId(tempDevice.getPowerCompany()); + //电站可能后期要录 todo + //syncTerminalParam.setSubStationParam(); + DeviceParam deviceParam = new DeviceParam(); + SubVoltageParam subVoltageParam = new SubVoltageParam(); + LineParam lineParam = new LineParam(); + + assembleSyncTerminalParam(deviceParam,tempDevice,subVoltageParam,lineParam,tempLine); + + syncTerminalParam.setDeviceParam(deviceParam); + syncTerminalParam.setSubVoltageParam(subVoltageParam); + syncTerminalParam.setLineParam(lineParam); + + terminalBaseClient.terminalSync(syncTerminalParam); + this.updateStatus(id,5); + return null; + } + + private void assembleSyncTerminalParam(DeviceParam deviceParam, SupervisionTempDeviceReport tempDevice,SubVoltageParam subVoltageParam,LineParam lineParam ,SupervisionTempLineReport tempLine) { + //包装device + deviceParam.setDevIndex(tempDevice.getId()); + deviceParam.setName(tempDevice.getMonitoringTerminalName()); + deviceParam.setDevType(tempDevice.getTerminalType()); + deviceParam.setFrontType(tempDevice.getFrontType()); + deviceParam.setIp(tempDevice.getTerminalIp()); + deviceParam.setPort(Integer.valueOf(tempDevice.getTerminalPort())); + deviceParam.setNodeId(tempDevice.getFrontEndMachine()); + deviceParam.setSeries(tempDevice.getIdentificationCode()); + deviceParam.setDevKey(tempDevice.getTerminalSecretKey()); + deviceParam.setDevModel(Integer.valueOf(tempDevice.getTerminalModel())); + deviceParam.setDevDataType(Integer.valueOf(tempDevice.getDataType())); + deviceParam.setCallFlag(Integer.valueOf(tempDevice.getCommunicationStatus())); + deviceParam.setManufacturer(tempDevice.getManufacturer()); + deviceParam.setElectroplate(tempDevice.getElectroplatingFunction()); + deviceParam.setLoginTime(LocalDateTimeUtil.format(tempDevice.getCommissioningTime(), DatePattern.NORM_DATE_FORMATTER)); + deviceParam.setThisTimeCheck(LocalDateTimeUtil.format(tempDevice.getCurrentTerminalDetectionTime(), DatePattern.NORM_DATE_FORMATTER)); + deviceParam.setNextTimeCheck(LocalDateTimeUtil.format(tempDevice.getNextTerminalInspectionTime(), DatePattern.NORM_DATE_FORMATTER)); + deviceParam.setContract(tempDevice.getContractNumber()); + deviceParam.setSim(tempDevice.getSimCardNumber()); + deviceParam.setDevSeries(null); + deviceParam.setDevLocation(tempDevice.getMonitoringDeviceInstallationPosition()); + deviceParam.setDevNo(tempDevice.getManufacturerDeviceNumber()); + deviceParam.setIsAlarm(Integer.valueOf(tempDevice.getAlarmFunction())); + deviceParam.setSort(0); + //subVoltageParam + + subVoltageParam.setName(tempLine.getConnectedBus()); + //母线线路号无要求,目前随机生成 + subVoltageParam.setNum(new Random().nextInt(6) + 1); + //使用监测点的电压等级,监测点和母线是同一个电压等级 + subVoltageParam.setScale(tempLine.getVoltageLevel()); + subVoltageParam.setModel(1); + subVoltageParam.setSort(0); + //包装lineParam + lineParam.setLineIndex(tempLine.getId()); + lineParam.setName(tempLine.getLineName()); + lineParam.setPt1(tempLine.getPtRatio()*100); + lineParam.setPt2(100.00f); + lineParam.setCt1(tempLine.getCtRatio()); + lineParam.setCt2(1.00f); + lineParam.setDevCapacity(tempLine.getDevCapacity()); + lineParam.setShortCapacity(tempLine.getShortCapacity()); + lineParam.setDealCapacity(tempLine.getDealCapacity()); + lineParam.setStandardCapacity(tempLine.getStandardCapacity()); + lineParam.setTimeInterval(tempLine.getTimeInterval()); + //这两个字段统一用BusinessType()来反射取 + lineParam.setLoadType(reflectionLoadType(tempLine.getBusinessType())); + lineParam.setBusinessType(reflectionBusinessType(tempLine.getBusinessType())); +// lineParam.setRemark(); +// lineParam.setMonitorId(); + lineParam.setPowerFlag(Integer.valueOf(tempLine.getPointNature())); + lineParam.setObjName(tempLine.getObjName()); + //目前接线方式在device里,现在使用device代替监测点 + lineParam.setPtType(tempLine.getPtType()); + lineParam.setNum(tempLine.getNum()); + lineParam.setSort(0); + lineParam.setVoltageDev(tempLine.getVoltageDeviationUpperLimit()); + lineParam.setUvoltageDev(tempLine.getVoltageDeviationLowerLimit()); + lineParam.setPowerSubstationName(tempLine.getPowerSubstationName()); +// lineParam.setCalssificationGrade(); +// lineParam.setSuperiorsSubstation(); + lineParam.setStatFlag(Integer.valueOf(tempLine.getIsStatistical())); +// lineParam.setHangLine(); +// lineParam.setOwner(); +// lineParam.setOwnerDuty(); +// lineParam.setOwnerTel(); + lineParam.setWiringDiagram(tempLine.getMainWiringDiagram()); + + + + } + + private String reflectionBusinessType(String businessType) { + try { + SysDicTreePO data = dictTreeFeignClient.queryById(businessType).getData(); + List data1 = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.BUSINESS_TYPE.getCode()).getData(); + List collect = data1.stream().filter(temp -> temp.getName().equals(data.getRemark())).collect(Collectors.toList()); + return collect.get(0).getId(); + } catch (Exception e) { + throw new BusinessException("字典转换异常"); + } + + } + + private String reflectionLoadType(String businessType) { + try { + SysDicTreePO data = dictTreeFeignClient.queryById(businessType).getData(); + List data1 = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INTERFERENCE_SOURCE_TYPE.getCode()).getData(); + List collect = data1.stream().filter(temp -> temp.getName().equals(data.getName())).collect(Collectors.toList()); + + return collect.get(0).getId(); + } catch (Exception e) { + throw new BusinessException("字典转换异常"); + } + + } + + } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java index c27bc4d0a..658499004 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java @@ -154,7 +154,10 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper - .eq(SupervisionTempLineReport::getLineId, supervisionTempLineReportParam.getLineId()) + .eq(SupervisionTempLineReport::getMonitoringTerminalCode,supervisionTempLineReportParam.getMonitoringTerminalCode()) + .and(wrapper->wrapper.eq(SupervisionTempLineReport::getNum ,supervisionTempLineReportParam.getNum()).or() + .eq(SupervisionTempLineReport::getLineName ,supervisionTempLineReportParam.getLineName()) + ) .eq(SupervisionTempLineReport::getState, DataStateEnum.ENABLE.getCode()); //更新的时候,需排除当前记录 if (isExcludeSelf) { @@ -172,7 +175,7 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl ids = supervisionTempLineRunTestParam.getLineIds(); List supervisionTempLineReportList = supervisionTempLineReportMapper.selectBatchIds(ids); - List lineIds = supervisionTempLineReportList.stream().map(SupervisionTempLineReport::getLineId).collect(Collectors.toList()); + List lineIds = supervisionTempLineReportList.stream().map(SupervisionTempLineReport::getId).collect(Collectors.toList()); List lineDTOList = commLineClient.getLineDetailBatch(lineIds).getData(); if(lineIds.size()!=lineDTOList.size()){ diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java index 817ed28bb..6768b846c 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java @@ -2,14 +2,12 @@ package com.njcn.supervision.service.plan.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -219,10 +217,10 @@ public class SupervisionPlanPOServiceImpl extends ServiceImpl list = supervisionProblemPOService.lambdaQuery().eq(SupervisionProblemPO::getPlanId, id).list(); - if (CollectionUtil.isEmpty(list)){ - throw new BusinessException("请填写完事实问题在提交审核"); - } +// List list = supervisionProblemPOService.lambdaQuery().eq(SupervisionProblemPO::getPlanId, id).list(); +// if (CollectionUtil.isEmpty(list)){ +// throw new BusinessException("请填写完实施问题提交审核"); +// } // 发起 BPM 流程 Map processInstanceVariables = new HashMap<>(); BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO(); @@ -310,6 +308,9 @@ public class SupervisionPlanPOServiceImpl extends ServiceImpl list = supervisionProblemPOService.lambdaQuery().eq(SupervisionProblemPO::getPlanId, id).list(); SupervisionPlanPO byId = this.getById(id); + if(byId.getStatus()!=2){ + throw new BusinessException("该计划未审核通过无法发送预告警单"); + } /* * 1、预告警单名称,此处暂时用计算监督计划名称 * 2、预告警编号暂时随机by yxb diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java index 8ccb1e9e7..c9d126f0a 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java @@ -34,6 +34,7 @@ import com.njcn.user.pojo.vo.UserVO; import com.njcn.web.factory.PageFactory; import com.njcn.web.utils.RequestUtil; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanWrapper; import org.springframework.beans.BeanWrapperImpl; @@ -175,6 +176,8 @@ public class UserReportPOServiceImpl extends ServiceImpl(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);