From 6ec0ef54e93d8e4e2dbfd38e4ada90e1780145e0 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Fri, 5 Jul 2024 09:01:12 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=8A=80=E6=9C=AF=E7=9B=91=E7=9D=A3=E8=AF=95?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=EF=BC=8C=E4=B8=8D=E9=80=9A=E8=BF=87=E6=95=B4?= =?UTF-8?q?=E4=BD=93=E9=A2=84=E5=91=8A=E8=AD=A6=E5=8D=95=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/bpm/service/IBpmReasonService.java | 27 ++++ .../BpmProcessInstanceStatusEvent.java | 6 + .../BpmSupervisionStatusListener.java | 2 +- .../impl/BpmProcessInstanceServiceImpl.java | 2 +- .../bpm/utils/BpmProcessInstanceConvert.java | 3 +- .../device/pq/api/TerminalBaseClient.java | 14 +- .../TerminalBaseClientFallbackFactory.java | 6 + .../pq/controller/TerminalBaseController.java | 34 ++-- .../pq/service/TerminalBaseService.java | 7 + .../service/impl/TerminalBaseServiceImpl.java | 28 +++- .../api/BusinessCommonFeignClient.java | 8 +- ...inessCommonFeignClientFallbackFactory.java | 2 +- .../pojo/param/leaflet/WarningAddParam.java | 12 ++ .../pojo/po/device/CheckDevice.java | 2 +- .../po/device/TempLineRunTestWarning.java | 44 ++++++ .../vo/device/SupervisionTempLineDebugVO.java | 38 +++-- .../device/SupervisionTempLineRunTestVO.java | 7 +- .../vo/device/TempLineRunTestWarningVO.java | 31 ++++ .../controller/BusinessCommonController.java | 61 +++++++- .../SupervisionTempLineRunTestController.java | 6 +- .../problem/LineRunTestProblemController.java | 58 +++++++ .../user/UserReportNormalController.java | 1 + .../SupervisionTempLineDebugPOMapper.java | 16 +- .../SupervisionTempLineRunTestMapper.java | 7 + .../device/TempLineRunTestWarningMapper.java | 18 +++ .../SupervisionTempLineDebugPOMapper.xml | 32 ++++ .../SupervisionTempLineRunTestMapper.xml | 16 ++ .../mapping/TempLineRunTestWarningMapper.xml | 8 + .../device/IQuitRunningDeviceService.java | 1 + .../ISupervisionTempLineRunTestService.java | 6 +- .../device/TempLineRunTestWarningService.java | 13 ++ ...SupervisionTempLineRunTestServiceImpl.java | 75 +++++++-- .../TempLineRunTestWarningServiceImpl.java | 22 +++ .../leaflet/ILineRunTestProblemService.java | 28 ++++ .../impl/LineRunTestProblemServiceImpl.java | 147 ++++++++++++++++++ .../impl/WarningLeafletServiceImpl.java | 20 ++- .../user/impl/UserReportPOServiceImpl.java | 2 +- 37 files changed, 714 insertions(+), 96 deletions(-) create mode 100644 pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmReasonService.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/TempLineRunTestWarning.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/TempLineRunTestWarningVO.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/problem/LineRunTestProblemController.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/TempLineRunTestWarningMapper.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/TempLineRunTestWarningMapper.xml create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/TempLineRunTestWarningService.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/TempLineRunTestWarningServiceImpl.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/ILineRunTestProblemService.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/LineRunTestProblemServiceImpl.java diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmReasonService.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmReasonService.java new file mode 100644 index 000000000..2b4b153cf --- /dev/null +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmReasonService.java @@ -0,0 +1,27 @@ +package com.njcn.bpm.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.bpm.pojo.dto.BpmInstanceInfo; + + +/** + * 统筹流程实例的公共方案 + * @author hongawen + * @version 1.0.0 + * @date 2024年06月12日 18:14 + */ +public interface IBpmReasonService extends IService { + + /** + * 根据业务id实时更新当前业务流程状态 + * @param businessId 实际业务id + * @param status 流程实例当前状态,具体参考BpmTaskStatusEnum枚举 + */ + void updateProcessStatus(String businessId,String reason, Integer status); + + /** + * 根据业务id获取历史审批id以及该任务的重要信息 + * @param businessId 业务流程id + */ + BpmInstanceInfo getInstanceInfo(String businessId); +} diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/BpmProcessInstanceStatusEvent.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/BpmProcessInstanceStatusEvent.java index e514a9e34..fea0ade2b 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/BpmProcessInstanceStatusEvent.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/BpmProcessInstanceStatusEvent.java @@ -35,6 +35,12 @@ public class BpmProcessInstanceStatusEvent extends ApplicationEvent { */ private String businessKey; + /** + * 审核消息 + * 例如说,请假 + */ + private String reason; + public BpmProcessInstanceStatusEvent(Object source) { super(source); } diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmSupervisionStatusListener.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmSupervisionStatusListener.java index 8fbbb08f8..f96a7d44c 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmSupervisionStatusListener.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmSupervisionStatusListener.java @@ -31,7 +31,7 @@ public class BpmSupervisionStatusListener implements ApplicationListener> getSubstationById(@RequestBody List list); - /* - 冀北技术监督台账同步 - */ + /** + * 冀北技术监督台账同步 + */ @ApiOperation("终端/母线/监测点同步操作") @PostMapping("terminalSync") HttpResult terminalSync( @RequestBody SyncTerminalParam syncTerminalParam); + + /** + * 监测点和装置同步成运行状态 + */ + @GetMapping("/terminalSyncRunFly") + HttpResult terminalSyncRunFly(@RequestParam("lineId") String lineId); } 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 1248e7a68..61def495d 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 @@ -44,6 +44,12 @@ public class TerminalBaseClientFallbackFactory implements FallbackFactory terminalSyncRunFly(String lineId) { + log.error("{}异常,降级处理,异常为:{}", "监测点和装置同步成运行状态", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; 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 3b7435e8e..772d10925 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 @@ -12,10 +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.pq.mapper.LineDetailMapper; -import com.njcn.device.pq.mapper.LineMapper; -import com.njcn.device.pq.mapper.OverlimitMapper; -import com.njcn.device.pq.mapper.VoltageMapper; import com.njcn.device.pq.pojo.bo.DeviceType; import com.njcn.device.pq.pojo.bo.excel.TerminalBaseExcel; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; @@ -27,7 +23,6 @@ import com.njcn.device.pq.pojo.vo.TerminalVO; 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.web.controller.BaseController; import io.swagger.annotations.*; import lombok.RequiredArgsConstructor; @@ -60,23 +55,6 @@ import java.util.stream.Stream; public class TerminalBaseController extends BaseController { private final TerminalBaseService terminalBaseService; - - - - private final LineDetailMapper lineDetailMapper; - - - private final OverlimitMapper overlimitMapper; - - - private final DicDataFeignClient dicDataFeignClient; - - - private final LineMapper lineMapper; - - - private final VoltageMapper voltageMapper; - private final GeneralDeviceService generalDeviceService; @@ -148,11 +126,19 @@ public class TerminalBaseController extends BaseController { @PostMapping("terminalSync") public HttpResult terminalSync(@Valid @RequestBody SyncTerminalParam syncTerminalParam) { String methodDescribe = getMethodDescribe("terminalSync"); - String subtation = terminalBaseService.terminalSync(syncTerminalParam); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, subtation, methodDescribe); + String substation = terminalBaseService.terminalSync(syncTerminalParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, substation, methodDescribe); } + @ApiOperation("监测点和装置同步成运行状态") + @OperateInfo(operateType = OperateType.ADD, info = LogEnum.BUSINESS_MEDIUM) + @GetMapping("/terminalSyncRunFly") + public HttpResult terminalSyncRunFly(@RequestParam("lineId") String lineId) { + String methodDescribe = getMethodDescribe("terminalSyncRunFly"); + Boolean b = terminalBaseService.terminalSyncRunFly(lineId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, b, 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 c93f36796..97af4bf1a 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 @@ -243,4 +243,11 @@ public interface TerminalBaseService { * @Date: 2024/5/29 */ String terminalSync(SyncTerminalParam syncTerminalParam); + + /** + * 监测点和装置同步成运行状态 + * @param lineId + * @return + */ + Boolean terminalSyncRunFly(String lineId); } 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 f984fbcc9..4eca12cde 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 @@ -5,12 +5,15 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.text.StrBuilder; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; 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.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.config.GeneralInfo; import com.njcn.common.pojo.dto.SimpleDTO; @@ -21,6 +24,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.LogUtil; import com.njcn.common.utils.PubUtils; import com.njcn.device.biz.enums.DeviceResponseEnum; +import com.njcn.device.biz.pojo.dto.LineDTO; import com.njcn.device.biz.pojo.po.DeviceBak; import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.device.biz.utils.COverlimitUtil; @@ -108,9 +112,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple private final FileStorageUtil fileStorageUtil; - private final GeneralInfo generalInfo; - - /** * 终端新增操作 * @@ -1882,7 +1883,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple Device deviceDetail = new Device(); BeanUtils.copyProperties(deviceParam, deviceDetail); deviceDetail.setId(device.getId()); - deviceDetail.setRunFlag(0); + deviceDetail.setRunFlag(3); deviceDetail.setCallFlag(0); deviceDetail.setComFlag(0); deviceDetail.setCheckFlag(1); @@ -1947,7 +1948,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple LineDetail lineDetail = new LineDetail(); BeanUtils.copyProperties(lineParam, lineDetail); lineDetail.setId(line.getId()); - lineDetail.setRunFlag(0); + lineDetail.setRunFlag(3); //判断国网监测点id if (StrUtil.isNotBlank(lineDetail.getMonitorId())) { lineDetail.setMonitorFlag(1); @@ -1987,6 +1988,23 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple return subIndex; } + @Override + public Boolean terminalSyncRunFly(String lineId) { + LineDTO lineDTO = this.baseMapper.selectLineDetail(lineId); + if(ObjectUtil.isNotNull(lineDTO)){ + lineDetailMapper.update(null,new LambdaUpdateWrapper() + .set(LineDetail::getRunFlag, 0) + .eq(LineDetail::getId, lineDTO.getLineId()) + ); + + deviceMapper.update(null,new LambdaUpdateWrapper() + .set(Device::getRunFlag, 0) + .eq(Device::getId, lineDTO.getDevId()) + ); + } + return false; + } + private String saveTerminalInfo(List oracleTerminalExcels, List overLimitExcels) { List oracleTerminalExcelMsg = new ArrayList<>(); diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/BusinessCommonFeignClient.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/BusinessCommonFeignClient.java index ddae4978f..262ab81fe 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/BusinessCommonFeignClient.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/BusinessCommonFeignClient.java @@ -23,19 +23,21 @@ public interface BusinessCommonFeignClient { /** * 根据流程key,业务id去实时更新流程状态 + * * @param processKey 流程定义key * @param businessId 业务id - * @param status 目标状态 + * @param status 目标状态 */ @GetMapping("/updateProcessStatus") - HttpResult updateProcessStatus(@RequestParam("processKey") String processKey,@RequestParam("businessId") String businessId, @RequestParam("status")Integer status); + HttpResult updateProcessStatus(@RequestParam("processKey") String processKey, @RequestParam("businessId") String businessId, @RequestParam("reason") String reason, @RequestParam("status") Integer status); /** * 根据流程key,业务id去实时更新流程状态 + * * @param processKey 流程定义key * @param businessId 业务id */ @GetMapping("/getInstanceInfo") - HttpResult getInstanceInfo(@RequestParam("processKey") String processKey, @RequestParam("businessId")String businessId); + HttpResult getInstanceInfo(@RequestParam("processKey") String processKey, @RequestParam("businessId") String businessId); } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/BusinessCommonFeignClientFallbackFactory.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/BusinessCommonFeignClientFallbackFactory.java index d9a7bb4f8..f246d3238 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/BusinessCommonFeignClientFallbackFactory.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/BusinessCommonFeignClientFallbackFactory.java @@ -25,7 +25,7 @@ public class BusinessCommonFeignClientFallbackFactory implements FallbackFactory Enum finalExceptionEnum = exceptionEnum; return new BusinessCommonFeignClient() { @Override - public HttpResult updateProcessStatus(String processKey,String businessId, Integer status) { + public HttpResult updateProcessStatus(String processKey, String businessId, String reason, Integer status) { log.error("{}异常,降级处理,异常为:{}", "更新流程状态", throwable.toString()); throw new BusinessException(finalExceptionEnum); } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/leaflet/WarningAddParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/leaflet/WarningAddParam.java index a9ac74081..c4d72c179 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/leaflet/WarningAddParam.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/leaflet/WarningAddParam.java @@ -23,4 +23,16 @@ public class WarningAddParam { */ @ApiModelProperty(value = "整改意见") private String reformAdvice; + + @Data + public static class Extend extends WarningAddParam{ + @ApiModelProperty(name = "type", value = "1:预警单 2:告警单") + private Integer type; + + @ApiModelProperty(name = "type", value = "预警单Id") + private String problemId; + + @ApiModelProperty(name = "issueDetail", value = "问题描述") + private String issueDetail; + } } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/CheckDevice.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/CheckDevice.java index 53a74ebba..65cbb29fe 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/CheckDevice.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/CheckDevice.java @@ -44,7 +44,6 @@ public class CheckDevice extends BaseEntity implements Serializable { /** * 本次定检时间 */ - @MppMultiId("now_check_time") private LocalDate nowCheckTime; /** @@ -75,6 +74,7 @@ public class CheckDevice extends BaseEntity implements Serializable { /** * 状态 0:未处理 1:已处理 */ + @MppMultiId("state") private Integer state; /** diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/TempLineRunTestWarning.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/TempLineRunTestWarning.java new file mode 100644 index 000000000..1d9022fc4 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/TempLineRunTestWarning.java @@ -0,0 +1,44 @@ +package com.njcn.supervision.pojo.po.device; + +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 java.io.Serializable; +import java.util.Date; + +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +/** + * + * @TableName supervision_temp_line_run_test_warning + */ +@TableName(value ="supervision_temp_line_run_test_warning") +@Data +public class TempLineRunTestWarning extends BaseEntity implements Serializable{ + + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + private String id; + + /** + * 试运行表主键 + */ + @TableField(value = "line_run_id") + private String lineRunId; + + /** + * 试运行成功报告地址 + */ + private String testRunReport; + + /** + * 试运行表主键 + */ + @TableField(value = "reason") + private String reason; +} \ No newline at end of file diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineDebugVO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineDebugVO.java index 2a4fbaae1..76dea1ba1 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineDebugVO.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineDebugVO.java @@ -17,7 +17,6 @@ public class SupervisionTempLineDebugVO extends BaseEntity { private String id; - @ApiModelProperty(value = "监测点编号") private String lineId; @@ -39,35 +38,40 @@ public class SupervisionTempLineDebugVO extends BaseEntity { @ApiModelProperty(value = "电网侧变电站") private String powerSubstationName; + @ApiModelProperty(value = "调试原因") private String reason; + @ApiModelProperty(value = "流程实例的编号") private String processInstanceId; - - @ApiModelProperty(value = "流程实例的编号") + @ApiModelProperty(value = "历史流程实列") private String historyInstanceId; + @ApiModelProperty(value = "1:审批中;2:审批通过;3:审批不通过;4:已取消,5数据同步完成") private Integer status; - /** - * 0:未试运行 1:试运行中 2.试运行成功 3.试运行异常 - */ + + @ApiModelProperty(value = "0:未试运行 1:试运行中 2.试运行成功 3.试运行异常") private Integer testRunState; - /** - * 试运行时间范围 - */ + @ApiModelProperty(value = "试运行时间范围") private String testRunTime; - /** - * 试运行成功报告地址 - */ - @ApiModelProperty(value = "试运行成功报告地址") - private String testRunReport; + @ApiModelProperty(value = "试运行成功报告地址") + private String testRunReport; + + @ApiModelProperty(value = "审核不通过原因") + private String problemReason; + + @ApiModelProperty(value = "1:技术监督管理;2:在线监测超标问题;3:用户投诉;4:试运行监测点问题") + private Integer problemType; + + @ApiModelProperty(value = "预告警单问题Id") + private String problemId; public void setTestRunReport(String testRunReport) { - if(StrUtil.isNotBlank(testRunReport)){ - this.testRunReport = "/"+testRunReport; - }else { + if (StrUtil.isNotBlank(testRunReport)) { + this.testRunReport = "/" + testRunReport; + } else { this.testRunReport = testRunReport; } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineRunTestVO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineRunTestVO.java index 96cc2ec10..b8e337d3f 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineRunTestVO.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineRunTestVO.java @@ -77,8 +77,14 @@ public class SupervisionTempLineRunTestVO extends BaseEntity{ private String lineName; private String userName; + /** + * 母线 + */ private String connectedBus; private String monitoringTerminalCode; + /** + * 终端名称 + */ private String monitoringTerminalName; private String powerSubstationName; private String reason; @@ -98,6 +104,5 @@ public class SupervisionTempLineRunTestVO extends BaseEntity{ this.testRunReport = testRunReport; } - } } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/TempLineRunTestWarningVO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/TempLineRunTestWarningVO.java new file mode 100644 index 000000000..9f8d65448 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/TempLineRunTestWarningVO.java @@ -0,0 +1,31 @@ +package com.njcn.supervision.pojo.vo.device; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author wr + * @description + * @date 2024/7/4 12:31 + */ +@ApiModel(description="告警信息") +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TempLineRunTestWarningVO { + + @ApiModelProperty(value = "试运行id") + private String id; + + @ApiModelProperty(value = "告警单Id") + private String warningId; + + @ApiModelProperty(value = "审批类型 1:审批中;2:审批通过;3:审批不通过;4:已取消;5:待反馈") + private Integer status; + + @ApiModelProperty(value = "不通过时间") + private String time; +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/BusinessCommonController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/BusinessCommonController.java index f0f93f8a2..3c0b176e5 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/BusinessCommonController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/BusinessCommonController.java @@ -2,6 +2,7 @@ package com.njcn.supervision.controller; import cn.hutool.extra.spring.SpringUtil; import com.njcn.bpm.pojo.dto.BpmInstanceInfo; +import com.njcn.bpm.service.IBpmReasonService; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; @@ -34,10 +35,9 @@ public class BusinessCommonController extends BaseController { @GetMapping("/updateProcessStatus") @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("更新流程状态") - public HttpResult updateProcessStatus(String processKey,String businessId, Integer status) { + public HttpResult updateProcessStatus(String processKey, String businessId, String reason, Integer status) { String methodDescribe = getMethodDescribe("updateProcessStatus"); - IBpmService iBpmService = getBpmServiceByBusinessKey(processKey); - iBpmService.updateProcessStatus(businessId, status); + getBpmServiceByBusinessStatusKey(processKey, businessId, reason, status); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } @@ -45,15 +45,64 @@ public class BusinessCommonController extends BaseController { @GetMapping("/getInstanceInfo") @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("获取业务数据") - public HttpResult getInstanceInfo(String processKey,String businessId) { + public HttpResult getInstanceInfo(String processKey, String businessId) { String methodDescribe = getMethodDescribe("getInstanceInfo"); - IBpmService iBpmService = getBpmServiceByBusinessKey(processKey); - BpmInstanceInfo instanceInfo = iBpmService.getInstanceInfo(businessId); + BpmInstanceInfo instanceInfo = getBpmServiceByBusinessKey(processKey,businessId); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, instanceInfo, methodDescribe); } /** * 根据业务流key获取实现类对象 + * + * @param processKey 业务流key + */ + private void getBpmServiceByBusinessStatusKey(String processKey, String businessId, String reason, Integer status) { + String fullServicePath = SupervisionKeyEnum.getFullServicePathByKey(processKey); + try { + if ("SupervisionTempLineRunTestServiceImpl".equals(fullServicePath.substring(fullServicePath.lastIndexOf(".")+1))) { + IBpmReasonService iBpmService = (IBpmReasonService) SpringUtil.getBean(Class.forName(fullServicePath)); + iBpmService.updateProcessStatus(businessId, reason, status); + } else { + IBpmService executor = (IBpmService) SpringUtil.getBean(Class.forName(fullServicePath)); + executor.updateProcessStatus(businessId, status); + } + } catch (ClassNotFoundException e) { + throw new BusinessException(SupervisionResponseEnum.SUPERVISION_SERVICE_NOT_FOUND); + } + + } + + + + /** + * 根据业务流key获取实现类对象 + * + * @param processKey 业务流key + */ + private BpmInstanceInfo getBpmServiceByBusinessKey(String processKey, String businessId) { + String fullServicePath = SupervisionKeyEnum.getFullServicePathByKey(processKey); + BpmInstanceInfo instanceInfo ; + try { + if ("SupervisionTempLineRunTestServiceImpl".equals(fullServicePath.substring(fullServicePath.lastIndexOf(".")+1))) { + IBpmReasonService iBpmService = (IBpmReasonService) SpringUtil.getBean(Class.forName(fullServicePath)); + instanceInfo = iBpmService.getInstanceInfo(businessId); + } else { + IBpmService executor = (IBpmService) SpringUtil.getBean(Class.forName(fullServicePath)); + instanceInfo = executor.getInstanceInfo(businessId); + } + } catch (ClassNotFoundException e) { + throw new BusinessException(SupervisionResponseEnum.SUPERVISION_SERVICE_NOT_FOUND); + } + return instanceInfo; + } + + + + + + /** + * 根据业务流key获取实现类对象 + * * @param processKey 业务流key */ private IBpmService getBpmServiceByBusinessKey(String processKey) { diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/SupervisionTempLineRunTestController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/SupervisionTempLineRunTestController.java index eb3d5f20d..5b184772e 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/SupervisionTempLineRunTestController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/SupervisionTempLineRunTestController.java @@ -53,7 +53,7 @@ public class SupervisionTempLineRunTestController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.UPDATE) @PostMapping("/update") - @ApiOperation("新增监测点试运行") + @ApiOperation("重新发送监测点试运行") @ApiImplicitParam(name = "supervisionTempLineRunTestParam", value = "实体参数", required = true) public HttpResult updateRunTest(@RequestBody @Validated SupervisionTempLineRunTestParam.SupervisionTempLineRunTestUpdateParam supervisionTempLineRunTestParam){ String methodDescribe = getMethodDescribe("updateRunTest"); @@ -79,7 +79,7 @@ public class SupervisionTempLineRunTestController extends BaseController { @ApiOperation("修改业务审核状态") public HttpResult updateStatus(@RequestParam("businessKey") String businessKey, @RequestParam("status")Integer status){ String methodDescribe = getMethodDescribe("updateLineRunTestStatus"); - iSupervisionTempLineRunTestService.updateProcessStatus(businessKey,status); + iSupervisionTempLineRunTestService.updateProcessStatus(businessKey,null,status); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); } @@ -104,7 +104,5 @@ public class SupervisionTempLineRunTestController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe); } - - } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/problem/LineRunTestProblemController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/problem/LineRunTestProblemController.java new file mode 100644 index 000000000..ab4f5abe4 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/problem/LineRunTestProblemController.java @@ -0,0 +1,58 @@ +package com.njcn.supervision.controller.problem; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam; +import com.njcn.supervision.pojo.param.leaflet.WarningAddParam; +import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO; +import com.njcn.supervision.service.leaflet.ILineRunTestProblemService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wr + * @description + * @date 2024/7/3 9:02 + */ +@Slf4j +@RestController +@RequestMapping("/lineRunTestProblem") +@Api(tags = "试运行评估问题") +@AllArgsConstructor +public class LineRunTestProblemController extends BaseController { + + private final ILineRunTestProblemService lineRunTestProblemService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/pageProblem") + @ApiOperation("查询问题列表") + @ApiImplicitParam(name = "supervisionTempLineDebugQuery", value = "参数", required = true) + public HttpResult> pageProblem(@RequestBody @Validated SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery) { + String methodDescribe = getMethodDescribe("pageProblem"); + Page out = lineRunTestProblemService.pageProblem(supervisionTempLineDebugQuery); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/initiateWarningLeaflet") + @ApiOperation("针对试运行发起告警单") + public HttpResult initiateWarningLeaflet(@RequestBody WarningAddParam.Extend warningAddParam){ + String methodDescribe = getMethodDescribe("initiateWarningLeaflet"); + lineRunTestProblemService.initiateWarningLeaflet(warningAddParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, Boolean.TRUE, methodDescribe); + } + +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportNormalController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportNormalController.java index 7737fe0c2..a74121155 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportNormalController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportNormalController.java @@ -31,6 +31,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @RequestMapping("userReportNormal") +@ApiOperation("干扰源常态化管理") @RequiredArgsConstructor public class UserReportNormalController extends BaseController { diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineDebugPOMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineDebugPOMapper.java index 425ed5df6..5112c4df5 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineDebugPOMapper.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineDebugPOMapper.java @@ -17,7 +17,19 @@ import org.apache.ibatis.annotations.Param; */ public interface SupervisionTempLineDebugPOMapper extends BaseMapper { - Page page(@Param("page") Page objectPage, @Param("ew") QueryWrapper queryWrapper); + Page page(@Param("page") Page objectPage, + @Param("ew") QueryWrapper queryWrapper); + + Page pageHasDebug(@Param("page") Page objectPage, + @Param("ew") QueryWrapper queryWrapper); + + /** + * 问题分页并查询是否有告警单 + * @param objectPage + * @param queryWrapper + * @return + */ + Page pageProblem(@Param("page") Page objectPage, + @Param("ew") QueryWrapper queryWrapper); - Page pageHasDebug(@Param("page") Page objectPage, @Param("ew") QueryWrapper queryWrapper); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineRunTestMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineRunTestMapper.java index 1c7c8a2a5..4921d0fb0 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineRunTestMapper.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineRunTestMapper.java @@ -4,8 +4,11 @@ package com.njcn.supervision.mapper.device; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO; import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO; +import com.njcn.supervision.pojo.vo.device.TempLineRunTestWarningVO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* Mapper 接口 @@ -17,4 +20,8 @@ import org.apache.ibatis.annotations.Param; public interface SupervisionTempLineRunTestMapper extends BaseMapper { SupervisionTempLineRunTestVO getRunTestInfo(@Param("id")String id); + + + List selectResults(@Param("id")String id); + } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/TempLineRunTestWarningMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/TempLineRunTestWarningMapper.java new file mode 100644 index 000000000..d9df3a597 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/TempLineRunTestWarningMapper.java @@ -0,0 +1,18 @@ +package com.njcn.supervision.mapper.device; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.supervision.pojo.po.device.TempLineRunTestWarning; + +/** +* @author web2023 +* @description 针对表【supervision_temp_line_run_test_warning】的数据库操作Mapper +* @createDate 2024-07-03 13:52:39 +* @Entity +*/ +public interface TempLineRunTestWarningMapper extends BaseMapper { + +} + + + + 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 09048082a..eb61c0295 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 @@ -72,4 +72,36 @@ where supervision_temp_line_debug.`status`=5 and ${ew.sqlSegment} + + diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineRunTestMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineRunTestMapper.xml index f61fd88fd..fbb52f201 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineRunTestMapper.xml +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineRunTestMapper.xml @@ -28,4 +28,20 @@ where supervision_temp_line_run_test.id = #{id} + diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/TempLineRunTestWarningMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/TempLineRunTestWarningMapper.xml new file mode 100644 index 000000000..fd32b15c1 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/TempLineRunTestWarningMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/IQuitRunningDeviceService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/IQuitRunningDeviceService.java index f7cbbd765..61d0bf9bf 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/IQuitRunningDeviceService.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/IQuitRunningDeviceService.java @@ -18,6 +18,7 @@ import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO; public interface IQuitRunningDeviceService extends IBpmService { String addRunningDevice(QuitRunningDeviceParam quitRunningDeviceParam); + String updateQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam); Page getQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ISupervisionTempLineRunTestService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ISupervisionTempLineRunTestService.java index 0e50a780d..bd9409701 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ISupervisionTempLineRunTestService.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ISupervisionTempLineRunTestService.java @@ -2,7 +2,7 @@ package com.njcn.supervision.service.device; import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; -import com.njcn.bpm.service.IBpmService; +import com.njcn.bpm.service.IBpmReasonService; import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam; import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO; import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO; @@ -17,7 +17,7 @@ import javax.servlet.http.HttpServletResponse; * @author hongawen * @since 2024-05-21 */ -public interface ISupervisionTempLineRunTestService extends IBpmService { +public interface ISupervisionTempLineRunTestService extends IBpmReasonService { Boolean addRunTest(SupervisionTempLineRunTestParam supervisionTempLineRunTestParam); @@ -29,6 +29,4 @@ public interface ISupervisionTempLineRunTestService extends IBpmService { + +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java index 1492a00a8..3135f6c0d 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java @@ -5,9 +5,12 @@ 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.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.text.StrPool; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.bpm.api.BpmProcessFeignClient; import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum; @@ -15,16 +18,19 @@ import com.njcn.bpm.enums.BpmTaskStatusEnum; import com.njcn.bpm.pojo.dto.BpmInstanceInfo; import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; +import com.njcn.bpm.utils.DateUtils; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.biz.commApi.CommLineClient; import com.njcn.device.biz.pojo.dto.LineDTO; import com.njcn.device.pq.api.LineIntegrityClient; +import com.njcn.device.pq.api.TerminalBaseClient; import com.njcn.device.pq.pojo.dto.LineDataQualityDTO; import com.njcn.device.pq.pojo.param.LineDataQualityParam; import com.njcn.harmonic.api.ReportFeignClient; import com.njcn.oss.utils.FileStorageUtil; +import com.njcn.supervision.enums.FlowStatusEnum; import com.njcn.supervision.enums.SupervisionKeyEnum; import com.njcn.supervision.enums.SupervisionUserStatusEnum; import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper; @@ -32,12 +38,17 @@ import com.njcn.supervision.mapper.device.SupervisionTempLineRunTestMapper; import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam; import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport; import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO; +import com.njcn.supervision.pojo.po.device.TempLineRunTestWarning; +import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet; import com.njcn.supervision.pojo.po.user.UserReportNormalPO; import com.njcn.supervision.pojo.po.user.UserReportProjectPO; import com.njcn.supervision.pojo.po.user.UserReportSensitivePO; import com.njcn.supervision.pojo.po.user.UserReportSubstationPO; import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO; +import com.njcn.supervision.pojo.vo.device.TempLineRunTestWarningVO; import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService; +import com.njcn.supervision.service.device.TempLineRunTestWarningService; +import com.njcn.supervision.service.leaflet.IWarningLeafletService; import com.njcn.supervision.service.user.*; import com.njcn.supervision.utils.InstanceUtil; import com.njcn.web.utils.RequestUtil; @@ -83,7 +94,8 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl tempLineRunTestWarningVOS = this.baseMapper.selectResults(supervisionTempLineRunTestParam.getId()); + long count = tempLineRunTestWarningVOS.stream().filter(x -> StrUtil.isBlank(x.getWarningId())).count(); + if (count>0) { + throw new BusinessException(CommonResponseEnum.FAIL, "请先发送告警单信息!"); + } + //2.判断告警单,是否有未审核通过则不允许重新发送 + if(CollUtil.isNotEmpty(tempLineRunTestWarningVOS)){ + Integer status = tempLineRunTestWarningVOS.get(0).getStatus(); + if(!status.equals(FlowStatusEnum.APPROVE.getCode())){ + throw new BusinessException(CommonResponseEnum.FAIL, "请处理告警单信息,处理审核通过才可重新发送!"); + } + String startTime = DateUtil.format(DateUtil.offsetDay(DateUtil.date(), 1), DatePattern.NORM_DATE_PATTERN); + String endTime = DateUtil.format(DateUtil.offsetDay(DateUtil.date(), 3), DatePattern.NORM_DATE_PATTERN); + supervisionTempLineRunTestPO.setTestRunTime(startTime + "--" + endTime); + } + supervisionTempLineRunTestPO.setStatus(1); + supervisionTempLineRunTestPO.setTestRunReport(""); supervisionTempLineRunTestPO.setState(DataStateEnum.ENABLE.getCode()); + supervisionTempLineRunTestPO.setTestRunState(DataStateEnum.ENABLE.getCode()); //处理历史流程id列表 String historyInstanceIds = InstanceUtil.dealHistoryId(supervisionTempLineRunTestPO.getProcessInstanceId(), supervisionTempLineRunTestPO.getHistoryInstanceId()); @@ -192,6 +222,7 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -220,18 +251,20 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl lineDataQualityDTOList = lineIntegrityClient.getLineDataQuality(lineDataQualityParam).getData(); Map qualityDTOMap = lineDataQualityDTOList.stream().collect(Collectors.toMap(LineDataQualityDTO::getLineId, Function.identity())); for (SupervisionTempLineRunTestPO supervisionTempLineRunTestPO : val) { - // 发起 BPM 流程 - Map processInstanceVariables = new HashMap<>(); - BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO(); - bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.LINE_RUN_TEST.getKey()); - bpmProcessInstanceCreateReqDTO.setBusinessKey(supervisionTempLineRunTestPO.getId()); - bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(new HashMap<>()); - bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables); - String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineRunTestPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData(); // 将工作流的编号,更新到流程单中 SupervisionTempLineRunTestPO po = new SupervisionTempLineRunTestPO(); + if(supervisionTempLineRunTestPO.getStatus()!=1&&StrUtil.isBlank(supervisionTempLineRunTestPO.getProcessInstanceId())){ + // 发起 BPM 流程 + Map processInstanceVariables = new HashMap<>(); + BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO(); + bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.LINE_RUN_TEST.getKey()); + bpmProcessInstanceCreateReqDTO.setBusinessKey(supervisionTempLineRunTestPO.getId()); + bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(new HashMap<>()); + bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables); + String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineRunTestPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData(); + po.setProcessInstanceId(processInstanceId); + } po.setId(supervisionTempLineRunTestPO.getId()); - po.setProcessInstanceId(processInstanceId); po.setStatus(1); po.setTestRunState(2); if (qualityDTOMap.containsKey(supervisionTempLineRunTestPO.getId())) { @@ -288,11 +321,21 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl implements TempLineRunTestWarningService { + + +} + + + + diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/ILineRunTestProblemService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/ILineRunTestProblemService.java new file mode 100644 index 000000000..ca54fef06 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/ILineRunTestProblemService.java @@ -0,0 +1,28 @@ +package com.njcn.supervision.service.leaflet; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam; +import com.njcn.supervision.pojo.param.leaflet.WarningAddParam; +import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO; + +/** + * @Description: 试运行评估问题 服务类 + * @Author: wr + * @Date: 2024/7/3 9:45 + */ +public interface ILineRunTestProblemService{ + + /** + * 查询审核不通过,试运行列表。来表示电能问题 + * @param supervisionTempLineDebugQuery + * @return + */ + Page pageProblem(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery); + + /** + * 发起告警单 + * @param warningAddParam + */ + void initiateWarningLeaflet(WarningAddParam.Extend warningAddParam); +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/LineRunTestProblemServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/LineRunTestProblemServiceImpl.java new file mode 100644 index 000000000..237b458cd --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/LineRunTestProblemServiceImpl.java @@ -0,0 +1,147 @@ +package com.njcn.supervision.service.leaflet.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.DateUtil; +import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +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.njcn.bpm.api.BpmProcessFeignClient; +import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum; +import com.njcn.bpm.enums.BpmTaskStatusEnum; +import com.njcn.bpm.pojo.dto.BpmInstanceInfo; +import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; +import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO; +import com.njcn.oss.utils.FileStorageUtil; +import com.njcn.supervision.enums.FlowStatusEnum; +import com.njcn.supervision.enums.LeafletTypeEnum; +import com.njcn.supervision.enums.ProblemTypeEnum; +import com.njcn.supervision.enums.SupervisionKeyEnum; +import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper; +import com.njcn.supervision.mapper.leaflet.WarningLeafletMapper; +import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam; +import com.njcn.supervision.pojo.param.leaflet.WarningAddParam; +import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam; +import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO; +import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet; +import com.njcn.supervision.pojo.po.problem.SupervisionUserComplaintPO; +import com.njcn.supervision.pojo.po.survey.SurveyTest; +import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO; +import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO; +import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO; +import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO; +import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService; +import com.njcn.supervision.service.device.SupervisionTempLineDebugPOService; +import com.njcn.supervision.service.leaflet.ILineRunTestProblemService; +import com.njcn.supervision.service.leaflet.IWarningLeafletService; +import com.njcn.supervision.service.survey.ISurveyTestService; +import com.njcn.supervision.service.survey.SupervisionGeneralSurveyPlanPOService; +import com.njcn.supervision.utils.InstanceUtil; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.api.UserFeignClient; +import com.njcn.user.pojo.po.Dept; +import com.njcn.web.factory.PageFactory; +import com.njcn.web.utils.RequestUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.time.LocalDate; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @Description: 试运行评估问题 服务实现类 + * @Author: wr + * @Date: 2024/7/3 9:44 + */ +@Service +@RequiredArgsConstructor +public class LineRunTestProblemServiceImpl implements ILineRunTestProblemService { + + + private final UserFeignClient userFeignClient; + private final DeptFeignClient deptFeignClient; + private final SupervisionTempLineDebugPOMapper lineDebugPOMapper; + private final IWarningLeafletService warningLeafletService; + private final ISupervisionTempLineRunTestService lineRunTestService; + + @Override + public Page pageProblem(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + List colleaguesIds = userFeignClient.getColleaguesIdByUserId(RequestUtil.getUserIndex()).getData(); + queryWrapper.in("supervision_temp_line_debug.Create_By", colleaguesIds) + .eq("supervision_temp_line_debug.state", DataStateEnum.ENABLE.getCode()); + if (StrUtil.isNotBlank(supervisionTempLineDebugQuery.getOrgNo())) { + /*获取直接下属子单位*/ + List data = deptFeignClient.getDepSonIdtByDeptId(supervisionTempLineDebugQuery.getOrgNo()).getData(); + queryWrapper.in("supervision_temp_line_report.org_id", data); + } + //添加上时间范围 + queryWrapper.between("supervision_temp_line_run_test_warning.create_time", + DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchEndTime()))); + queryWrapper.orderByDesc("supervision_temp_line_run_test_warning.create_time"); + Page page = lineDebugPOMapper.pageProblem(new Page<>(PageFactory.getPageNum(supervisionTempLineDebugQuery), PageFactory.getPageSize(supervisionTempLineDebugQuery)), queryWrapper); + return page; + } + + @Override + public void initiateWarningLeaflet(WarningAddParam.Extend warningAddParam) { + SupervisionTempLineRunTestVO runTestById = lineRunTestService.getRunTestById(warningAddParam.getId()); + if(ObjectUtil.isNull(runTestById)){ + throw new BusinessException(CommonResponseEnum.FAIL, "无法查询到该信息,请检查信息是否存在!"); + } + //组装告警单 + String complainteDetail = assembleWarningDetail(runTestById); + /* + * 1、预告警单名称,此处暂时用用户名+投诉 + * 2、预告警编号暂时随机by yxb + * 3、问题类型:1:技术监督管理;2:在线监测超标问题;3:用户投诉;4:现场测试超标,此处是现场测试超标 + * 4、对应问题源id,用于查询详细数据 + * 5、单子类型:1:预警单;2:告警单 + * 6、问题详细描述 + * */ + warningLeafletService.createLeaflet( + complainteDetail, + RequestUtil.getDeptIndex(), + IdWorker.get32UUID(), + warningAddParam.getProblemId(), + ProblemTypeEnum.SITE_TEST.getCode(), + warningAddParam.getType(), + warningAddParam.getIssueDetail(), + warningAddParam.getReformAdvice(), + null + ); + } + private String assembleWarningDetail(SupervisionTempLineRunTestVO byId) { + String issueDetail = byId.getPowerSubstationName() + .concat("_") + .concat(byId.getMonitoringTerminalName()) + .concat("_") + .concat(byId.getConnectedBus()) + .concat("_") + .concat(byId.getLineName()) + .concat("试运行评估问题") + ; + return issueDetail; + } +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java index 2c27530ec..771a5925a 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java @@ -25,9 +25,13 @@ import com.njcn.supervision.enums.ProblemTypeEnum; import com.njcn.supervision.enums.SupervisionKeyEnum; import com.njcn.supervision.mapper.leaflet.WarningLeafletMapper; import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam; +import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO; +import com.njcn.supervision.pojo.po.device.TempLineRunTestWarning; import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet; import com.njcn.supervision.pojo.po.survey.SurveyTest; import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO; +import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService; +import com.njcn.supervision.service.device.TempLineRunTestWarningService; import com.njcn.supervision.service.leaflet.IWarningLeafletService; import com.njcn.supervision.service.survey.ISurveyTestService; import com.njcn.supervision.service.survey.SupervisionGeneralSurveyPlanPOService; @@ -82,6 +86,9 @@ public class WarningLeafletServiceImpl extends ServiceImpl !Objects.equals(temp, 2)) .collect(Collectors.toList()); - if (CollectionUtil.isEmpty(data)) { + if (CollectionUtil.isEmpty(collect1)) { userReportPO.setUserStatus(userStatus); } } else {