From 502c2b6524e9d81c82beda35e043767f5a69536f Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Tue, 21 May 2024 08:55:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=80=E6=9C=AF=E7=9B=91=E7=9D=A3,=E7=9B=91?= =?UTF-8?q?=E6=B5=8B=E7=82=B9=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BpmTempLineDebugStatusListener.java | 27 ++ .../business/BpmTempLineStatusListener.java | 2 +- .../api/TempLineDebugFeignClient.java | 22 ++ ...mpLineDebugFeignClientFallbackFactory.java | 37 +++ .../device/SupervisionTempLineDebugParam.java | 65 +++++ .../SupervisionTempLineReportParam.java | 2 + .../pojo/param/plan/SupervisionPlanParam.java | 168 +++++++++++ .../param/plan/SupervisopnProblemParam.java | 159 +++++++++++ .../po/device/SupervisionTempLineDebugPO.java | 56 ++++ .../pojo/po/plan/SupervisionPlanPO.java | 236 ++++++++++++++++ .../pojo/po/plan/SupervisionProblemPO.java | 159 +++++++++++ .../vo/device/SupervisionTempLineDebugVO.java | 23 ++ .../device/SupervisionTempLineReportVO.java | 8 + .../pojo/vo/plan/SupervisionPlanVO.java | 183 ++++++++++++ .../pojo/vo/user/UserReportVO.java | 3 + .../device/DeVReportManageController.java | 1 + .../controller/device/TempLineController.java | 9 + .../device/TempLineDebugController.java | 89 ++++++ .../plan/SupervisionPlanController.java | 64 +++++ .../plan/SupervisionProblemController.java | 71 +++++ .../SupervisionTempLineDebugPOMapper.java | 21 ++ .../SupervisionTempLineDebugPOMapper.xml | 37 +++ .../mapper/plan/SupervisionPlanPOMapper.java | 15 + .../plan/SupervisionProblemPOMapper.java | 15 + .../plan/mapping/SupervisionPlanPOMapper.xml | 49 ++++ .../mapping/SupervisionProblemPOMapper.xml | 41 +++ .../SupervisionTempLineDebugPOService.java | 27 ++ .../SupervisionTempLineReportService.java | 2 + ...SupervisionDevMainReportPOServiceImpl.java | 14 +- ...SupervisionTempLineDebugPOServiceImpl.java | 129 +++++++++ .../SupervisionTempLineReportServiceImpl.java | 29 +- .../plan/SupervisionPlanPOService.java | 23 ++ .../plan/SupervisionProblemPOService.java | 21 ++ .../impl/SupervisionPlanPOServiceImpl.java | 266 ++++++++++++++++++ .../impl/SupervisionProblemPOServiceImpl.java | 132 +++++++++ ...rvisionGeneralSurveyPlanPOServiceImpl.java | 5 + .../user/impl/UserReportPOServiceImpl.java | 4 + 37 files changed, 2202 insertions(+), 12 deletions(-) create mode 100644 pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmTempLineDebugStatusListener.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/TempLineDebugFeignClient.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/TempLineDebugFeignClientFallbackFactory.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempLineDebugParam.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/plan/SupervisionPlanParam.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/plan/SupervisopnProblemParam.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineDebugPO.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/plan/SupervisionPlanPO.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/plan/SupervisionProblemPO.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineDebugVO.java create mode 100644 pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/plan/SupervisionPlanVO.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineDebugController.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/plan/SupervisionPlanController.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/plan/SupervisionProblemController.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineDebugPOMapper.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/SupervisionPlanPOMapper.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/SupervisionProblemPOMapper.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/mapping/SupervisionPlanPOMapper.xml create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/mapping/SupervisionProblemPOMapper.xml create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineDebugPOService.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionPlanPOService.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionProblemPOService.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java create mode 100644 pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionProblemPOServiceImpl.java diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmTempLineDebugStatusListener.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmTempLineDebugStatusListener.java new file mode 100644 index 000000000..e5736810c --- /dev/null +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmTempLineDebugStatusListener.java @@ -0,0 +1,27 @@ +package com.njcn.bpm.listener.business; + +import com.njcn.bpm.listener.BpmProcessInstanceStatusEvent; +import com.njcn.bpm.listener.BpmProcessInstanceStatusEventListener; +import com.njcn.supervision.api.TempLineFeignClient; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + + +@Component +public class BpmTempLineDebugStatusListener extends BpmProcessInstanceStatusEventListener { + + @Resource + private TempLineFeignClient tempLineFeignClient; + + @Override + protected String getProcessDefinitionKey() { + return "temp_line_debug"; + } + + @Override + protected void onEvent(BpmProcessInstanceStatusEvent event) { + tempLineFeignClient.updateStatus(event.getBusinessKey(), event.getStatus()); + } + +} diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmTempLineStatusListener.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmTempLineStatusListener.java index f913516af..f46aed92c 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmTempLineStatusListener.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmTempLineStatusListener.java @@ -16,7 +16,7 @@ public class BpmTempLineStatusListener extends BpmProcessInstanceStatusEventList @Override protected String getProcessDefinitionKey() { - return "temp_line_info_add"; + return "line_info_add"; } @Override diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/TempLineDebugFeignClient.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/TempLineDebugFeignClient.java new file mode 100644 index 000000000..d59a16956 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/TempLineDebugFeignClient.java @@ -0,0 +1,22 @@ +package com.njcn.supervision.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.supervision.api.fallback.TempLineDebugFeignClientFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + + +/** + * 流程实例 Api 接口 + * + * @author 芋道源码 + */ +@FeignClient(value = ServerInfo.SUPERVISION, path = "/tempLinedebug", fallbackFactory = TempLineDebugFeignClientFallbackFactory.class) +public interface TempLineDebugFeignClient { + + @GetMapping("/updateStatus") + HttpResult updateStatus(@RequestParam("businessKey") String businessKey, @RequestParam("status")Integer status); + +} diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/TempLineDebugFeignClientFallbackFactory.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/TempLineDebugFeignClientFallbackFactory.java new file mode 100644 index 000000000..77411cd3a --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/TempLineDebugFeignClientFallbackFactory.java @@ -0,0 +1,37 @@ +package com.njcn.supervision.api.fallback; + +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.supervision.api.TempLineDebugFeignClient; +import com.njcn.supervision.utils.SupervisionEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author denghuajun + * @version 1.0.0 + * @date 2022/3/16 + */ +@Slf4j +@Component +public class TempLineDebugFeignClientFallbackFactory implements FallbackFactory { + @Override + public TempLineDebugFeignClient create(Throwable throwable) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException) throwable.getCause(); + exceptionEnum = SupervisionEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new TempLineDebugFeignClient() { + @Override + public HttpResult updateStatus(String businessKey, 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/device/SupervisionTempLineDebugParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempLineDebugParam.java new file mode 100644 index 000000000..a74cad53c --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/SupervisionTempLineDebugParam.java @@ -0,0 +1,65 @@ +package com.njcn.supervision.pojo.param.device; + +import com.njcn.db.bo.BaseEntity; +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.util.List; +import java.util.Map; + +/** + * + * Description: + * Date: 2024/5/17 15:26【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SupervisionTempLineDebugParam extends BaseEntity { + private String id; + + /** + * 调试原因 + */ + @ApiModelProperty(value="调试原因") + private String reason; + + /** + * 流程实例的编号 + */ + @ApiModelProperty(value="流程实例的编号") + private String processInstanceId; + + /** + * 1:审批中;2:审批通过;3:审批不通过;4:已取消 + */ + @ApiModelProperty(value="1:审批中;2:审批通过;3:审批不通过;4:已取消") + private Integer status; + + /** + * 状态:0-删除 1-正常 + */ + @ApiModelProperty(value="状态:0-删除 1-正常") + private Integer state; + + @ApiModelProperty("发起人自选审批人 Map") + private Map> startUserSelectAssignees; + + @Data + @EqualsAndHashCode(callSuper = true) + public static class SupervisionTempLineDebugQuery extends BaseParam { + + @ApiModelProperty(value = "填报部门") + private String orgId; + + private List statueList; + + } +} \ 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 5c43575a0..650aefb3b 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 @@ -239,5 +239,7 @@ public class SupervisionTempLineReportParam { @ApiModelProperty(value = "填报部门") private String orgId; + private List statueList; + } } \ No newline at end of file diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/plan/SupervisionPlanParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/plan/SupervisionPlanParam.java new file mode 100644 index 000000000..e7f3b5336 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/plan/SupervisionPlanParam.java @@ -0,0 +1,168 @@ +package com.njcn.supervision.pojo.param.plan; + +import com.njcn.web.pojo.annotation.DateTimeStrValid; +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-06-21 + */ +@Data +public class SupervisionPlanParam extends BaseParam { + + + /** + * 计划名称 + */ + @ApiModelProperty(value = "计划名称",required = true) + @NotBlank(message = "计划名称不可为空") + private String workPlanName; + + /** + * 监督单位 + */ + @ApiModelProperty(value = "监督单位",required = true) + @NotBlank(message = "监督单位不可为空") + private String supvOrgId; + + /** + * 计划编制人id + */ + @NotBlank(message = "计划编制人不可为空") + private String planUserId; + + /** + * 监督类型 + */ + @ApiModelProperty(value = "监督类型",required = true) + @NotBlank(message = "监督类型不可为空") + private String supvType; + + /** + * 监督阶段 + */ + @ApiModelProperty(value = "监督阶段",required = true) + @NotBlank(message = "监督阶段不可为空") + private String supvStage; + + /** + * 计划监督时间 + */ + @ApiModelProperty(value = "计划监督时间",required = true) + @NotNull(message = "计划监督时间不可为空") + private String planSupvDate; + + /** + * 监督对象名称 + */ + @ApiModelProperty(value = "监督对象名称") + private String supvObjName; + + /** + * 监督对象类型 + */ + @ApiModelProperty(value = "对象类型") + private String supvObjType; + + /** + * 监督对象电压等级 + */ + @ApiModelProperty(value = "对象电压等级") + private String objVoltageLevel; + + /** + * 关联电站 + */ + @ApiModelProperty(value = "关联电站") + private String substationName; + + @ApiModelProperty(value = "关联电站电压等级") + private String substationVoltageLevel; + + + @ApiModelProperty(value = "监督对象属性") + private String objType; + + @ApiModelProperty(value = "监督对象属性名称") + private String objTypeName; + + @ApiModelProperty(value = "监督对象协议容量(MVA)") + private Double objCapacity; + + /** + * 计划执行开始时间 + */ + @ApiModelProperty(value = "计划执行开始时间",required = true) + @DateTimeStrValid(format = "yyyy-MM-dd HH:mm:ss",message = "计划执行开始时间格式有误") + private String effectStartTime; + + /** + * 计划执行结束时间 + */ + @ApiModelProperty(value = "计划执行结束时间",required = true) + @DateTimeStrValid(format = "yyyy-MM-dd HH:mm:ss",message = "计划执行结束时间格式有误") + private String effectEndTime; + + /** + * 报告出具时间 + */ + @ApiModelProperty(value = "报告出具时间",required = true) + @DateTimeStrValid(message = "报告出具时间格式有误",format = "yyyy-MM-dd HH:mm:ss") + private String reportIssueTime; + + /** + * 电能质量问题发生时间 + */ + @ApiModelProperty(value = "电能质量问题发生时间",required = true) + @DateTimeStrValid(message = "电能质量问题发生时间格式有误",format = "yyyy-MM-dd HH:mm:ss") + private String problemOcTime; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注(其他要求)") + private String otherRemark; + + + /** + * 计划编制单位id + */ + @ApiModelProperty(value = "计划编制单位id") + @NotBlank(message = "计划编制单位id不可为空") + private String planOrgId; + + @ApiModelProperty(value = "实施状态") + private String effectStatus; + + @ApiModelProperty(value = "实施人") + private String effectUserId; + + @ApiModelProperty(value = "计划状态") + private String planStatus; + + @EqualsAndHashCode(callSuper = true) + @Data + public static class UpdateSupvPlanParam extends SupervisionPlanParam{ + + @ApiModelProperty(value = "索引",required = true) + @NotBlank(message = "计划索引不可为空") + private String planId; + + @ApiModelProperty("其他要求") + private String otherRemarkHis; + + @ApiModelProperty("调整原因") + private String applyCommentHis; + } + +} diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/plan/SupervisopnProblemParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/plan/SupervisopnProblemParam.java new file mode 100644 index 000000000..71d1e9dd8 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/plan/SupervisopnProblemParam.java @@ -0,0 +1,159 @@ +package com.njcn.supervision.pojo.param.plan; + +import com.njcn.web.pojo.annotation.DateTimeStrValid; +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + *

+ * + *

+ * + * @author hongawen + * @since 2023-06-21 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class SupervisopnProblemParam extends BaseParam { + + + + /** + * 关联计划表 + */ + @ApiModelProperty(value = "关联计划表id",required = true) + @NotBlank(message = "关联计划表不可为空") + private String planId; + + /** + * 责任单位id,取ISC平台上的组织id + */ + @ApiModelProperty(value = "责任单位id,取ISC平台上的组织id",required = true) + @NotBlank(message = "责任单位id不可为空") + private String dutyOrgId; + + /** + * 监测点类型 ,仅供电电压监督计划必填 + */ + @ApiModelProperty(value = "监测点类型 ,仅供电电压监督计划必填") + private String monitorType; + + /** + * 整改时间 + */ + @ApiModelProperty(value = "整改时间",required = true) + @DateTimeStrValid(message = "整改时间格式有误") + private String rectificationTime; + + /** + * 计划整改时间 + */ + @ApiModelProperty(value = "计划整改时间",required = true) + @NotNull(message = "计划整改时间不可为空") + @DateTimeStrValid(message = "计划整改时间格式有误") + private String planRectificationTime; + + /** + * 是否发布预告警 + */ + @ApiModelProperty(value = "是否发布预告警",required = true) + @NotNull(message = "是否发布预告警不可为空") + private Integer ifReleaseWarning; + + /** + * 问题描述 + */ + @ApiModelProperty(value = "问题简要描述") + @NotBlank(message = "问题简要描述不可为空") + private String simpleProblemDesc; + + + + /** + * 监督标准序号 + */ + @ApiModelProperty(value = "监督标准序号") + @NotBlank(message = "监督标准序号不可为空") + private String supvStandardSort; + + /** + * 问题描述 + */ + @ApiModelProperty(value = "问题描述") + @NotBlank(message = "问题描述不可为空") + private String problemDesc; + + /** + * 监督标准 + */ + @ApiModelProperty(value = "监督标准",required = true) + @NotBlank(message = "监督标准不可为空") + private String supvStandard; + + /** + * 标准出处 + */ + @ApiModelProperty(value = "标准出处",required = true) + @NotBlank(message = "标准出处不可为空") + private String supvResouce; + + /** + * 问题等级 01 一般,02 较大 + */ + @ApiModelProperty(value = "问题等级",required = true) + @NotBlank(message = "问题等级不可为空") + private String problemLevel; + + /** + * 定级依据 + */ + @ApiModelProperty(value = "定级依据",required = true) + @NotBlank(message = "定级依据不可为空") + private String problemLevelReason; + + /** + * 问题类型 + */ + @ApiModelProperty(value = "问题类型",required = true) + @NotBlank(message = "问题类型不可为空") + private String problemType; + + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 整改方案 + */ + @ApiModelProperty(value = "整改方案",required = true) + @NotBlank(message = "整改方案不可为空") + private String rectificationProgramme; + + @ApiModelProperty(value = "整改措施") + private String rectificationMeasure; + + /** + * 整改情况01已整改,02未整改 + */ + @ApiModelProperty(value = "整改情况",required = true) + @NotBlank(message = "整改情况不可为空") + private String rectificationStatus; + + @NotBlank(message = "问题发现时间") + @DateTimeStrValid(format="yyyy-MM-dd HH:mm:ss",message = "问题发现时间格式有误") + private String discoveryTime; + + @EqualsAndHashCode(callSuper = true) + @Data + public static class UpdateSupvProblemParam extends SupervisopnProblemParam{ + + @ApiModelProperty(value = "索引",required = true) + @NotBlank(message = "问题索引不可为空") + private String problemId; + } + +} 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 new file mode 100644 index 000000000..fff03c4f1 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/SupervisionTempLineDebugPO.java @@ -0,0 +1,56 @@ +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 com.njcn.db.bo.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * + * Description: + * Date: 2024/5/17 15:26【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "supervision_temp_line_debug") +public class SupervisionTempLineDebugPO extends BaseEntity { + @TableId(value = "id", type = IdType.INPUT) + private String id; + + /** + * 调试原因 + */ + @TableField(value = "reason") + @ApiModelProperty(value="调试原因") + private String reason; + + /** + * 流程实例的编号 + */ + @TableField(value = "process_instance_id") + @ApiModelProperty(value="流程实例的编号") + private String processInstanceId; + + /** + * 1:审批中;2:审批通过;3:审批不通过;4:已取消 + */ + @TableField(value = "`status`") + @ApiModelProperty(value="1:审批中;2:审批通过;3:审批不通过;4:已取消") + private Integer status; + + /** + * 状态:0-删除 1-正常 + */ + @TableField(value = "`State`") + @ApiModelProperty(value="状态:0-删除 1-正常") + private Integer state; +} \ No newline at end of file diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/plan/SupervisionPlanPO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/plan/SupervisionPlanPO.java new file mode 100644 index 000000000..9e619d11b --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/plan/SupervisionPlanPO.java @@ -0,0 +1,236 @@ +package com.njcn.supervision.pojo.po.plan; + +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 com.njcn.db.bo.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * + * Description: + * Date: 2024/5/20 17:49【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "supervision_plan") +public class SupervisionPlanPO extends BaseEntity { + + @TableId(value = "plan_Id", type = IdType.ASSIGN_UUID) + private String planId; + + + @TableField(exist = false) + private String provinceId; + + @TableField(exist = false) + private String provinceName; + + @TableField(exist = false) + private String cityId; + + @TableField(exist = false) + private String cityName; + + @TableField(exist = false) + private String countyId; + + @TableField(exist = false) + private String countyName; + + @TableField(exist = false) + private String supvObjId; + + @TableField(exist = false) + private String objVoltageLevelName; + + /** + * 计划名称 + */ + @TableField(value = "work_plan_name") + private String workPlanName; + + /** + * 监督类型 + */ + @TableField(value = "supv_Type") + private String supvType; + + /** + * 监督阶段 + */ + @TableField(value = "supv_Stage") + private String supvStage; + + /** + * 监督单位 + */ + @TableField(value = "supv_Org_Id") + private String supvOrgId; + + /** + * 计划编制人id + */ + @TableField(value = "plan_User_Id") + private String planUserId; + + /** + * 计划编制单位id + */ + @TableField(value = "plan_Org_Id") + private String planOrgId; + + /** + * 备注 + */ + @TableField(value = "other_Remark") + private String otherRemark; + + /** + * 计划执行开始时间 + */ + @TableField(value = "effect_Start_Time") + private LocalDateTime effectStartTime; + + /** + * 计划执行结束时间 + */ + @TableField(value = "effect_End_Time") + private LocalDateTime effectEndTime; + + /** + * 实施状态 + */ + @TableField(value = "effect_Status") + private String effectStatus; + + /** + * 计划监督时间 + */ + @TableField(value = "plan_Supv_Date") + private LocalDateTime planSupvDate; + + /** + * 对象类型 + */ + @TableField(value = "supv_Obj_Type") + private String supvObjType; + + /** + * 监督对象名称 + */ + @TableField(value = "supv_Obj_Name") + private String supvObjName; + + /** + * 对象电压等级 + */ + @TableField(value = "obj_Voltage_Level") + private String objVoltageLevel; + + /** + * 关联电站 + */ + @TableField(value = "substation_Name") + private String substationName; + + /** + * 关联电站电压等级 + */ + @TableField(value = "substation_Voltage_Level") + private String substationVoltageLevel; + + /** + * 监督对象属性 01 在运站 02 新(改、扩)建站,仅新能源场站监督计划必填 + */ + @TableField(value = "obj_Type") + private String objType; + + /** + * 监督对象属性名称 仅新能源场站监督计划必填 + */ + @TableField(value = "obj_Type_Name") + private String objTypeName; + + /** + * 监督对象协议容量(MVA) 新能源场站、敏感用户监督计划必填 + */ + @TableField(value = "obj_Capacity") + private Double objCapacity; + + /** + * 报告出具时间 + */ + @TableField(value = "report_Issue_Time") + private LocalDateTime reportIssueTime; + + /** + * 电能质量问题发生时间 + */ + @TableField(value = "problem_Oc_Time") + private LocalDateTime problemOcTime; + + /** + * 删除标识 0否1是 + */ + @TableField(value = "delete_Flag") + private String deleteFlag; + + /** + * 计划状态 1新建2变更 3取消 + */ + @TableField(value = "plan_Status") + private String planStatus; + + /** + * 删除时间 + */ + @TableField(value = "delete_Time") + private LocalDateTime deleteTime; + + /** + * 实施人id + */ + @TableField(value = "effect_User_Id") + private String effectUserId; + + /** + * 实施人姓名 + */ + @TableField(value = "effect_User_Name") + private String effectUserName; + + /** + * 0.未上送 1.上送 2.取消上送 3.待重新上送 + */ + @TableField(value = "is_upload_head") + private Integer isUploadHead; + + /** + * 流程实例的编号 + */ + @TableField(value = "process_instance_id") + private String processInstanceId; + + /** + * 1:审批中;2:审批通过;3:审批不通过;4:已取消 + */ + @TableField(value = "`status`") + private Integer status; + + + /** + * 状态:0-删除 1-正常 + */ + @TableField(value = "`State`") + private Integer state; +} \ No newline at end of file diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/plan/SupervisionProblemPO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/plan/SupervisionProblemPO.java new file mode 100644 index 000000000..06fff15ca --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/plan/SupervisionProblemPO.java @@ -0,0 +1,159 @@ +package com.njcn.supervision.pojo.po.plan; + +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 com.njcn.db.bo.BaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * + * Description: + * Date: 2024/5/20 19:50【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@ApiModel(description="") +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "supervision_problem") +public class SupervisionProblemPO extends BaseEntity { + @TableId(value = "problem_Id", type = IdType.ASSIGN_UUID) + private String problemId; + + /** + * 关联计划表 + */ + @TableField(value = "plan_id") + private String planId; + + /** + * 所属网省id + */ + @TableField(exist = false) + private String provinceId; + + /** + * 责任单位id,取ISC平台上的组织id + */ + @TableField(value = "duty_Org_Id") + private String dutyOrgId; + + @TableField(exist = false) + private String dutyOrgName; + + /** + * 监测点类型 ,仅供电电压监督计划必填 + */ + @TableField(value = "monitor_Type") + private String monitorType; + + /** + * 整改时间 + */ + @TableField(value = "rectification_Time") + private LocalDateTime rectificationTime; + + /** + * 计划整改时间 + */ + @TableField(value = "plan_Rectification_Time") + private LocalDateTime planRectificationTime; + + /** + * 是否发布预告警 + */ + @TableField(value = "if_Release_Warning") + private Boolean ifReleaseWarning; + + @TableField(value = "problem_Desc") + private String problemDesc; + + /** + * 问题描述 + */ + @TableField(value = "simple_Problem_Desc") + private String simpleProblemDesc; + + @TableField(value = "supv_Standard_Sort") + private String supvStandardSort; + + /** + * 监督标准 + */ + @TableField(value = "supv_Standard") + private String supvStandard; + + /** + * 标准出处 + */ + @TableField(value = "supv_Resouce") + private String supvResouce; + + /** + * 问题等级 01 一般,02 较大 + */ + @TableField(value = "problem_Level") + private String problemLevel; + + /** + * 定级依据 + */ + @TableField(value = "problem_Level_Reason") + private String problemLevelReason; + + /** + * 问题类型 + */ + @TableField(value = "problem_Type") + private String problemType; + + /** + * 整改方案 + */ + @TableField(value = "rectification_Programme") + private String rectificationProgramme; + + /** + * 整改措施 + */ + @TableField(value = "rectification_Measure") + private String rectificationMeasure; + + /** + * 整改情况, 01已整改,02未整改 + */ + @TableField(value = "rectification_Status") + private String rectificationStatus; + + /** + * 是否上送国网 0.未上送 1.上送 + */ + @TableField(value = "is_Upload_Head") + private Boolean isUploadHead; + + /** + * 问题发现时间 + */ + @TableField(value = "discovery_Time") + private LocalDateTime discoveryTime; + + @TableField(value = "remark") + private String remark; + + @TableField(exist = false) + private String attachmentName; + + + @TableField(exist = false) + private String attachmentNameTwo; + +} \ 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 new file mode 100644 index 000000000..69fa03827 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineDebugVO.java @@ -0,0 +1,23 @@ +package com.njcn.supervision.pojo.vo.device; + +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +/** + * Description: + * Date: 2024/5/20 10:32【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class SupervisionTempLineDebugVO extends BaseEntity { + + private String id; + private String lineId; + private String lineName; + private String reason; + private String processInstanceId; + + private Integer status; +} diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineReportVO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineReportVO.java index 877005dcc..9e22c5e44 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineReportVO.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/SupervisionTempLineReportVO.java @@ -215,6 +215,14 @@ public class SupervisionTempLineReportVO { @ApiModelProperty(value="电压偏差下限") private Float voltageDeviationLowerLimit; + /** + * 流程实例的编号 + */ + + @ApiModelProperty(value = "流程实例的编号") + private String processInstanceId; + + /** * 1:审批中;2:审批通过;3:审批不通过;4:已取消 */ diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/plan/SupervisionPlanVO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/plan/SupervisionPlanVO.java new file mode 100644 index 000000000..129eba016 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/plan/SupervisionPlanVO.java @@ -0,0 +1,183 @@ +package com.njcn.supervision.pojo.vo.plan; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * pqs + * + * @author cdf + * @date 2023/6/25 + */ +@Data +public class SupervisionPlanVO { + + @ApiModelProperty(value = "索引",required = true) + private String planId; + + /** + * 计划名称 + */ + @ApiModelProperty(value = "计划名称",required = true) + private String workPlanName; + + /** + * 监督单位 + */ + @ApiModelProperty(value = "监督单位",required = true) + private String supvOrgId; + + @ApiModelProperty(value = "监督单位名称",required = true) + private String supvOrgName; + + /** + * 计划编制单位id + */ + @ApiModelProperty(value = "计划编制单位id") + private String planOrgId; + + /** + * 计划编制单位名字 + */ + @ApiModelProperty(value = "计划编制单位名字") + private String planOrgName; + + + private String planUserId; + + private String planUserName; + + /** + * 监督类型 + */ + @ApiModelProperty(value = "监督类型",required = true) + private String supvType; + + /** + * 监督阶段 + */ + @ApiModelProperty(value = "监督阶段",required = true) + private String supvStage; + + /** + * 计划监督时间 + */ + @ApiModelProperty(value = "计划监督时间",required = true) + @JsonFormat(pattern = "yyyy-MM") + private String planSupvDate; + + /** + * 监督对象名称 + */ + @ApiModelProperty(value = "监督对象名称") + private String supvObjName; + + /** + * 对象类型 + */ + @ApiModelProperty(value = "对象类型") + private String supvObjType; + + /** + * 对象电压等级 + */ + @ApiModelProperty(value = "对象电压等级") + private String objVoltageLevel; + + /** + * 关联电站 + */ + @ApiModelProperty(value = "关联电站") + private String substationName; + + @ApiModelProperty(value = "关联电站电压等级") + private String substationVoltageLevel; + + @ApiModelProperty(value = "监督对象属性") + private String objType; + + @ApiModelProperty(value = "监督对象属性名称") + private String objTypeName; + + @ApiModelProperty(value = "监督对象协议容量(MVA)") + private Double objCapacity; + + /** + * 计划执行开始时间 + */ + @ApiModelProperty(value = "计划执行开始时间",required = true) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime effectStartTime; + + /** + * 计划执行结束时间 + */ + @ApiModelProperty(value = "计划执行结束时间",required = true) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime effectEndTime; + + /** + * 报告出具时间 + */ + @ApiModelProperty(value = "报告出具时间",required = true) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime reportIssueTime; + + /** + * 电能质量问题发生时间 + */ + @ApiModelProperty(value = "电能质量问题发生时间",required = true) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime problemOcTime; + + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + private String otherRemark; + + @ApiModelProperty(value = "省部门") + private String province; + + @ApiModelProperty(value = "市部门") + private String city; + + @ApiModelProperty(value = "县部门") + private String county; + + + @ApiModelProperty(value = "附件名称") + private String attachmentName; + + /** + * 0.未上送 1.上送 2.取消上送 + */ + @ApiModelProperty(value = "0.未上送 1.上送 2.取消上送") + private Integer isUploadHead; + + private String createBy; + + private String updateBy; + + /** + * 实施状态 + */ + private String effectStatus; + /** + * 实施人id + */ + private String effectUserId; + /** + * 实施人姓名 + */ + private String effectUserName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "计划状态") + private String planStatus; +} diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/UserReportVO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/UserReportVO.java index ba9e2d236..41df2d8ac 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/UserReportVO.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/UserReportVO.java @@ -34,6 +34,9 @@ public class UserReportVO { @ApiModelProperty(value = "填报人") private String reporter; + @ApiModelProperty(value = "填报人名称") + private String reporterName; + /** * 填报日期 */ diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/DeVReportManageController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/DeVReportManageController.java index 374d599fb..08c09f3e8 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/DeVReportManageController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/DeVReportManageController.java @@ -120,4 +120,5 @@ public class DeVReportManageController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe); } + } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineController.java index 08928bf62..90f9314ce 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineController.java @@ -59,6 +59,15 @@ public class TempLineController extends BaseController { Page out = supervisionTempLineReportService.getTempLineReport(supervisionTempLineReportQuery); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDetail") + @ApiOperation("查询详情") + public HttpResult getDetailTempLine(@RequestParam("id") String id) { + String methodDescribe = getMethodDescribe("getDetailTempLine"); + SupervisionTempLineReportVO out = supervisionTempLineReportService.getDetailTempLine(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } @GetMapping("/updateStatus") @OperateInfo(info = LogEnum.BUSINESS_COMMON) @Operation(summary = "更改表单状态") 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 new file mode 100644 index 000000000..cf082aaee --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/TempLineDebugController.java @@ -0,0 +1,89 @@ +package com.njcn.supervision.controller.device; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.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.vo.device.SupervisionTempLineDebugVO; +import com.njcn.supervision.service.device.SupervisionTempLineDebugPOService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * 干扰源用户管理 + * + * @author qijian + * @version 1.0.0 + * @createTime 2022/11/11 - 9:20 + */ +@Slf4j +@RestController +@RequestMapping("/tempLinedebug") +@Api(tags = "临时监测点调试管理") +@AllArgsConstructor +public class TempLineDebugController extends BaseController { + + + private final SupervisionTempLineDebugPOService supervisionTempLineDebugPOService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.ADD) + @PostMapping("/add") + @ApiOperation("新增临时监测点调试管理") + @ApiImplicitParam(name = "supervisionTempLineReportParam", value = "实体参数", required = true) + public HttpResult addTempLineDebug(@RequestBody @Validated SupervisionTempLineDebugParam supervisionTempLineReportParam){ + String methodDescribe = getMethodDescribe("addTempLineDebug"); + String tempLineId = supervisionTempLineDebugPOService.addTempLineDebug(supervisionTempLineReportParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, tempLineId, methodDescribe); + + } + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/list") + @ApiOperation("查询联调监测点") + @ApiImplicitParam(name = "supervisionTempLineDebugQuery", value = "参数", required = true) + public HttpResult> getTempLineDeug(@RequestBody @Validated SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery) { + String methodDescribe = getMethodDescribe("getTempLineDeug"); + Page out = supervisionTempLineDebugPOService.getTempLineDeug(supervisionTempLineDebugQuery); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDetail") + @ApiOperation("查询详情") + public HttpResult getDetailTempLine(@RequestParam("id") String id) { + String methodDescribe = getMethodDescribe("getDetailTempLine"); + SupervisionTempLineDebugVO out = supervisionTempLineDebugPOService.getDetailTempLineDebug(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + } + @GetMapping("/updateStatus") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @Operation(summary = "更改表单状态") + public HttpResult updateStatus(String businessKey,Integer status) { + String methodDescribe = getMethodDescribe("updateStatus"); + supervisionTempLineDebugPOService.updateStatus(businessKey,status); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } +// +// @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) +// @PostMapping("/cancel") +// @ApiOperation("取消设备录入") +// @ApiImplicitParam(name = "cancelReqVO", value = "取消原因", required = true) +// public HttpResult cancelTempLineReport(@Validated @RequestBody BpmProcessInstanceCancelParam cancelReqVO) { +// String methodDescribe = getMethodDescribe("cancelTempLineReport"); +// String id = supervisionTempLineReportService.cancelTempLineReport(cancelReqVO); +// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe); +// } + +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/plan/SupervisionPlanController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/plan/SupervisionPlanController.java new file mode 100644 index 000000000..5ff00f825 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/plan/SupervisionPlanController.java @@ -0,0 +1,64 @@ +package com.njcn.supervision.controller.plan; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.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.plan.SupervisionPlanParam; +import com.njcn.supervision.pojo.vo.plan.SupervisionPlanVO; +import com.njcn.supervision.service.plan.SupervisionPlanPOService; +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 qijian + * @version 1.0.0 + * @createTime 2022/11/11 - 9:20 + */ +@Slf4j +@RestController +@RequestMapping("/superPlan") +@Api(tags = "技术监督计划") +@AllArgsConstructor +public class SupervisionPlanController extends BaseController { + + + private final SupervisionPlanPOService supervisionPlanPOService; + + @PostMapping("addPlan") + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @ApiOperation("新增技术监督计划") + @ApiImplicitParam(name = "supvPlanParam",value = "请求体",required = true) + public HttpResult addPlan(@RequestBody @Validated SupervisionPlanParam supvPlanParam){ + String methodDescribe = getMethodDescribe("addPlan"); + String id = supervisionPlanPOService.addPlan(supvPlanParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe); + } + + + @PostMapping("pagePlan") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("分页查询监督计划") + @ApiImplicitParam(name = "supvPlanParam",value = "请求体",required = true) + public HttpResult> pagePlan(@RequestBody SupervisionPlanParam supvPlanParam){ + String methodDescribe = getMethodDescribe("pagePlan"); + Page page = supervisionPlanPOService.pagePlan(supvPlanParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/plan/SupervisionProblemController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/plan/SupervisionProblemController.java new file mode 100644 index 000000000..55f0719eb --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/plan/SupervisionProblemController.java @@ -0,0 +1,71 @@ +package com.njcn.supervision.controller.plan; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.common.LogEnum; +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.common.utils.HttpResultUtil; +import com.njcn.supervision.pojo.param.plan.SupervisopnProblemParam; +import com.njcn.supervision.pojo.po.plan.SupervisionProblemPO; +import com.njcn.supervision.service.plan.SupervisionProblemPOService; +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 qijian + * @version 1.0.0 + * @createTime 2022/11/11 - 9:20 + */ +@Slf4j +@RestController +@RequestMapping("/superProblem") +@Api(tags = "技术监督计划问题") +@AllArgsConstructor +public class SupervisionProblemController extends BaseController { + + + private final SupervisionProblemPOService supervisionProblemPOService; + + @PostMapping("addProblem") + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @ApiOperation("新增技术监督问题") + @ApiImplicitParam(name = "supvProblemParam",value = "请求体",required = true) + public HttpResult addProblem(@RequestBody @Validated SupervisopnProblemParam supvProblemParam){ + String methodDescribe = getMethodDescribe("addProblem"); + supervisionProblemPOService.addProblem(supvProblemParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @PostMapping("pageProblem") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("分页查询监督问题") + @ApiImplicitParam(name = "supvProblemParam",value = "请求体",required = true) + public HttpResult> pageProblem(@RequestBody SupervisopnProblemParam supvProblemParam){ + String methodDescribe = getMethodDescribe("pageProblem"); + if(StrUtil.isBlank(supvProblemParam.getPlanId())){ + throw new BusinessException("监督计划索引不可为空"); + } + Page page = supervisionProblemPOService.pageProblem(supvProblemParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + + + + +} 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 new file mode 100644 index 000000000..852fb0241 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/SupervisionTempLineDebugPOMapper.java @@ -0,0 +1,21 @@ +package com.njcn.supervision.mapper.device; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO; +import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO; +import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO; +import org.apache.ibatis.annotations.Param; + +/** + * + * Description: + * Date: 2024/5/17 15:26【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface SupervisionTempLineDebugPOMapper extends BaseMapper { + Page page(@Param("page")Page objectPage, @Param("ew") QueryWrapper queryWrapper); +} \ No newline at end of file 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 new file mode 100644 index 000000000..6398ce7c6 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + id, reason, process_instance_id, `status`, Create_By, Create_Time, Update_By, Update_Time, + `State` + + + + \ No newline at end of file diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/SupervisionPlanPOMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/SupervisionPlanPOMapper.java new file mode 100644 index 000000000..27b7e3449 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/SupervisionPlanPOMapper.java @@ -0,0 +1,15 @@ +package com.njcn.supervision.mapper.plan; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO; + +/** + * + * Description: + * Date: 2024/5/20 17:49【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface SupervisionPlanPOMapper extends BaseMapper { +} \ No newline at end of file diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/SupervisionProblemPOMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/SupervisionProblemPOMapper.java new file mode 100644 index 000000000..ab539d90d --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/SupervisionProblemPOMapper.java @@ -0,0 +1,15 @@ +package com.njcn.supervision.mapper.plan; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.supervision.pojo.po.plan.SupervisionProblemPO; + +/** + * + * Description: + * Date: 2024/5/20 19:50【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface SupervisionProblemPOMapper extends BaseMapper { +} \ No newline at end of file diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/mapping/SupervisionPlanPOMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/mapping/SupervisionPlanPOMapper.xml new file mode 100644 index 000000000..360490ca3 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/mapping/SupervisionPlanPOMapper.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + plan_Id, work_plan_name, supv_Type, supv_Stage, supv_Org_Id, plan_User_Id, plan_Org_Id, + other_Remark, effect_Start_Time, effect_End_Time, effect_Status, plan_Supv_Date, + supv_Obj_Type, supv_Obj_Name, obj_Voltage_Level, substation_Name, substation_Voltage_Level, + obj_Type, obj_Type_Name, obj_Capacity, report_Issue_Time, problem_Oc_Time, delete_Flag, + plan_Status, delete_Time, effect_User_Id, effect_User_Name, is_upload_head, create_time, + create_by, update_by, update_time + + \ No newline at end of file diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/mapping/SupervisionProblemPOMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/mapping/SupervisionProblemPOMapper.xml new file mode 100644 index 000000000..d991ec853 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/plan/mapping/SupervisionProblemPOMapper.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + problem_Id, plan_id, duty_Org_Id, monitor_Type, rectification_Time, plan_Rectification_Time, + if_Release_Warning, problem_Desc, simple_Problem_Desc, supv_Standard_Sort, supv_Standard, + supv_Resouce, problem_Level, problem_Level_Reason, problem_Type, rectification_Programme, + rectification_Measure, rectification_Status, is_Upload_Head, discovery_Time, remark, + create_by, update_by, create_time, update_time + + \ No newline at end of file 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 new file mode 100644 index 000000000..fbe32b98e --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineDebugPOService.java @@ -0,0 +1,27 @@ +package com.njcn.supervision.service.device; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam; +import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO; +import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO; + +/** + * + * Description: + * Date: 2024/5/17 15:26【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface SupervisionTempLineDebugPOService extends IService{ + + + String addTempLineDebug(SupervisionTempLineDebugParam supervisionTempLineReportParam); + + Page getTempLineDeug(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery); + + SupervisionTempLineDebugVO getDetailTempLineDebug(String id); + + void updateStatus(String businessKey, Integer status); +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineReportService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineReportService.java index 702dcf60d..37f821103 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineReportService.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/SupervisionTempLineReportService.java @@ -25,4 +25,6 @@ public interface SupervisionTempLineReportService extends IService data = deptFeignClient.getDepSonIdtByDeptId(supervisionDevMainReportQuery.getOrgId()).getData(); + queryWrapper.in("supervision_dev_main_report.org_no", data); - //添加上时间范围 - queryWrapper.between("supervision_dev_main_report.Create_Time", - DateUtil.beginOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchBeginTime())), - DateUtil.endOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchEndTime()))); } + //添加上时间范围 + queryWrapper.between("supervision_dev_main_report.Create_Time", + DateUtil.beginOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(supervisionDevMainReportQuery.getSearchEndTime()))); queryWrapper.orderByDesc("supervision_dev_main_report.Update_Time"); Page page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionDevMainReportQuery), PageFactory.getPageSize(supervisionDevMainReportQuery)), queryWrapper); page.getRecords().stream().forEach(temp->{ @@ -186,7 +189,8 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl implements SupervisionTempLineDebugPOService{ + public static final String PROCESS_KEY = "temp_line_debug"; + private final BpmProcessFeignClient bpmProcessFeignClient; + private final DeptFeignClient deptFeignClient; + + private final SupervisionTempLineReportService supervisionTempLineReportService; + + @Override + @Transactional(rollbackFor = Exception.class) + public String addTempLineDebug(SupervisionTempLineDebugParam supervisionTempLineReportParam) { + + SupervisionTempLineDebugPO byId = this.getById(supervisionTempLineReportParam.getId()); + if(Objects.nonNull(byId)){ + if(byId.getState() == 1) { + throw new BusinessException("该监测点以申请联调"); + } + } + SupervisionTempLineDebugPO supervisionTempLineDebugPO = new SupervisionTempLineDebugPO(); + BeanUtils.copyProperties(supervisionTempLineReportParam,supervisionTempLineDebugPO); + supervisionTempLineDebugPO.setState(DataStateEnum.ENABLE.getCode()); + supervisionTempLineDebugPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); + this.save(supervisionTempLineDebugPO); + String id = supervisionTempLineDebugPO.getId(); + // 发起 BPM 流程 + Map processInstanceVariables = new HashMap<>(); + BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO(); + bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(PROCESS_KEY); + bpmProcessInstanceCreateReqDTO.setBusinessKey(id); + bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(supervisionTempLineReportParam.getStartUserSelectAssignees()); + bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables); + String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineDebugPO.getCreateBy(),bpmProcessInstanceCreateReqDTO).getData(); + // 将工作流的编号,更新到流程单中 + supervisionTempLineDebugPO.setProcessInstanceId(processInstanceId); + this.baseMapper.updateById(supervisionTempLineDebugPO); + + + return id; + } + + @Override + public Page getTempLineDeug(SupervisionTempLineDebugParam.SupervisionTempLineDebugQuery supervisionTempLineDebugQuery) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + + String userIndex = RequestUtil.getUserIndex(); + queryWrapper.in("supervision_temp_line_report.create_by", CollectionUtil.newArrayList(userIndex)) + .eq("supervision_temp_line_report.state", DataStateEnum.ENABLE.getCode()); + if (StrUtil.isNotBlank(supervisionTempLineDebugQuery.getOrgId())) { + /*获取直接下属子单位*/ + List data = deptFeignClient.getDepSonIdtByDeptId(supervisionTempLineDebugQuery.getOrgId()).getData(); + queryWrapper.in("supervision_temp_line_report.org_id", data); + + } + //添加上时间范围 + queryWrapper.between("supervision_temp_line_report.Create_Time", + DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(supervisionTempLineDebugQuery.getSearchEndTime()))); + queryWrapper.orderByDesc("supervision_temp_line_report.Update_Time"); + + Page page =this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionTempLineDebugQuery), PageFactory.getPageSize(supervisionTempLineDebugQuery)), queryWrapper); + + return page; + } + + @Override + public SupervisionTempLineDebugVO getDetailTempLineDebug(String id) { + SupervisionTempLineDebugVO supervisionTempLineDebugVO = new SupervisionTempLineDebugVO(); + SupervisionTempLineReport supervisionTempLineReport = supervisionTempLineReportService.getById(id); + SupervisionTempLineDebugPO supervisionTempLineDebugPO = this.getById(id); + supervisionTempLineDebugVO.setId(id); + supervisionTempLineDebugVO.setLineId(supervisionTempLineReport.getLineId()); + supervisionTempLineDebugVO.setLineName(supervisionTempLineReport.getLineName()); + supervisionTempLineDebugVO.setReason(supervisionTempLineDebugPO.getReason()); + supervisionTempLineDebugVO.setProcessInstanceId(supervisionTempLineDebugPO.getProcessInstanceId()); + supervisionTempLineDebugVO.setStatus(supervisionTempLineDebugPO.getStatus()); + + + return supervisionTempLineDebugVO; + } + + @Override + public void updateStatus(String businessKey, Integer status) { + this.lambdaUpdate().set(SupervisionTempLineDebugPO::getStatus,status).eq(SupervisionTempLineDebugPO::getId,businessKey).update(); + + } +} 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 267e1cde9..a31c05d62 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 @@ -93,20 +93,23 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl data = deptFeignClient.getDepSonIdtByDeptId(supervisionTempLineReportQuery.getOrgId()).getData(); + queryWrapper.in("supervision_temp_line_report.org_id", data); + - //添加上时间范围 - queryWrapper.between("supervision_temp_line_report.Create_Time", - DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchBeginTime())), - DateUtil.endOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchEndTime()))); } + //添加上时间范围 + queryWrapper.between("supervision_temp_line_report.Create_Time", + DateUtil.beginOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(supervisionTempLineReportQuery.getSearchEndTime()))); queryWrapper.orderByDesc("supervision_temp_line_report.Update_Time"); Page page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(supervisionTempLineReportQuery), PageFactory.getPageSize(supervisionTempLineReportQuery)), queryWrapper); page.getRecords().stream().forEach(temp->{ - temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgId()).getData().getName())); +// temp.setOrgName((deptFeignClient.getDeptById(temp.getOrgId()).getData().getName())); //处理特殊字段,用户名、部门名 UserVO userVO = userFeignClient.getUserById(temp.getReporter()).getData(); temp.setReporter(userVO.getName()); @@ -133,6 +136,20 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionPlanPOService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionPlanPOService.java new file mode 100644 index 000000000..3d2c303de --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionPlanPOService.java @@ -0,0 +1,23 @@ +package com.njcn.supervision.service.plan; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.supervision.pojo.param.plan.SupervisionPlanParam; +import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.supervision.pojo.vo.plan.SupervisionPlanVO; + +/** + * + * Description: + * Date: 2024/5/20 17:49【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface SupervisionPlanPOService extends IService{ + + + String addPlan(SupervisionPlanParam supvPlanParam); + + Page pagePlan(SupervisionPlanParam supvPlanParam); + } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionProblemPOService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionProblemPOService.java new file mode 100644 index 000000000..7804609dc --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/SupervisionProblemPOService.java @@ -0,0 +1,21 @@ +package com.njcn.supervision.service.plan; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.supervision.pojo.param.plan.SupervisopnProblemParam; +import com.njcn.supervision.pojo.po.plan.SupervisionProblemPO; +import com.baomidou.mybatisplus.extension.service.IService; + /** + * + * Description: + * Date: 2024/5/20 19:50【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface SupervisionProblemPOService extends IService{ + + + void addProblem(SupervisopnProblemParam supvProblemParam); + + Page pageProblem(SupervisopnProblemParam supvProblemParam); + } 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 new file mode 100644 index 000000000..e2b05ed89 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java @@ -0,0 +1,266 @@ +package com.njcn.supervision.service.plan.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +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.extension.plugins.pagination.Page; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.utils.PubUtils; +import com.njcn.supervision.pojo.param.plan.SupervisionPlanParam; +import com.njcn.supervision.pojo.vo.plan.SupervisionPlanVO; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.api.UserFeignClient; +import com.njcn.user.pojo.po.User; +import com.njcn.user.pojo.vo.PvTerminalTreeVO; +import com.njcn.web.factory.PageFactory; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.supervision.mapper.plan.SupervisionPlanPOMapper; +import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO; +import com.njcn.supervision.service.plan.SupervisionPlanPOService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * + * Description: + * Date: 2024/5/20 17:49【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +@RequiredArgsConstructor +public class SupervisionPlanPOServiceImpl extends ServiceImpl implements SupervisionPlanPOService{ + private final UserFeignClient userFeignClient; + private final DeptFeignClient deptFeignClient; + + @Override + @Transactional(rollbackFor = Exception.class) + public String addPlan(SupervisionPlanParam supvPlanParam) { + checkParam(supvPlanParam, false); + SupervisionPlanPO supvPlan = new SupervisionPlanPO(); + BeanUtil.copyProperties(supvPlanParam, supvPlan); + supvPlan.setPlanSupvDate(LocalDateTimeUtil.parse(supvPlanParam.getPlanSupvDate(), DatePattern.NORM_DATETIME_PATTERN)); + + if(StrUtil.isNotBlank(supvPlanParam.getEffectEndTime())) { + supvPlan.setEffectEndTime(PubUtils.localDateTimeFormat(supvPlanParam.getEffectEndTime())); + } + if(StrUtil.isNotBlank(supvPlanParam.getEffectStartTime())) { + supvPlan.setEffectStartTime(PubUtils.localDateTimeFormat(supvPlanParam.getEffectStartTime())); + } + if(StrUtil.isNotBlank(supvPlanParam.getProblemOcTime())) { + supvPlan.setProblemOcTime(PubUtils.localDateTimeFormat(supvPlanParam.getProblemOcTime())); + } + if(StrUtil.isNotBlank(supvPlanParam.getReportIssueTime())) { + supvPlan.setReportIssueTime(PubUtils.localDateTimeFormat(supvPlanParam.getReportIssueTime())); + } + + + + if(!"01".equals(supvPlan.getEffectStatus())){ + if(Objects.isNull(supvPlan.getEffectStartTime()) ){ + throw new BusinessException("开始实施时间不可为空!"); + } + } + + if("04".equals(supvPlan.getEffectStatus())){ + if(Objects.isNull(supvPlan.getEffectEndTime()) ){ + throw new BusinessException("结束实施时间不可为空!"); + } + } + + + supvPlan.setIsUploadHead(0); + if(StrUtil.isNotBlank(supvPlan.getEffectUserId())){ + List userList = userFeignClient.getUserByIdList(Stream.of(supvPlan.getEffectUserId()).collect(Collectors.toList())).getData(); + if(CollUtil.isNotEmpty(userList)){ + supvPlan.setEffectUserName(userList.get(0).getName()); + } + } + supvPlan.setState(DataStateEnum.ENABLE.getCode()); + this.save(supvPlan); + return supvPlan.getPlanId(); + } + + @Override + public Page pagePlan(SupervisionPlanParam supvPlanParam) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (StrUtil.isNotBlank(supvPlanParam.getSupvOrgId())) { + List deptIds = deptFeignClient.getDepSonSelfCodetByCode(supvPlanParam.getSupvOrgId()).getData(); + lambdaQueryWrapper.in(SupervisionPlanPO::getSupvOrgId, deptIds) + .between(SupervisionPlanPO::getPlanSupvDate, supvPlanParam.getSearchBeginTime(),supvPlanParam.getSearchEndTime()) + .eq(StrUtil.isNotBlank(supvPlanParam.getSupvType()),SupervisionPlanPO::getSupvType,supvPlanParam.getSupvType()); + + } + + if(StrUtil.isNotBlank(supvPlanParam.getSortBy())){ + if(supvPlanParam.getOrderBy().equals("desc")){ + lambdaQueryWrapper.orderByDesc(SupervisionPlanPO::getPlanSupvDate); + }else { + lambdaQueryWrapper.orderByAsc(SupervisionPlanPO::getPlanSupvDate); + + } + }else { + lambdaQueryWrapper.orderByDesc(SupervisionPlanPO::getCreateTime); + } + + + List deptList = deptFeignClient.allDeptList().getData(); + Map mapCode = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode, Function.identity())); + Map mapList = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, Function.identity())); + + + Page page = this.page(new Page<>(PageFactory.getPageNum(supvPlanParam), PageFactory.getPageSize(supvPlanParam)), lambdaQueryWrapper); + List supvPlanVOList = BeanUtil.copyToList(page.getRecords(), SupervisionPlanVO.class); + List userIds = supvPlanVOList.stream().map(SupervisionPlanVO::getPlanUserId).distinct().collect(Collectors.toList()); + supvPlanVOList.forEach(item -> { + PvTerminalTreeVO pvTerminalTreeVO = null; + if (mapCode.containsKey(item.getSupvOrgId())) { + pvTerminalTreeVO = mapCode.get(item.getSupvOrgId()); + item.setSupvOrgName(pvTerminalTreeVO.getName()); + int deptLevel = pvTerminalTreeVO.getPids().split(StrUtil.COMMA).length; + if (deptLevel == 2) { + //省 + item.setProvince(pvTerminalTreeVO.getName()); + } else if (deptLevel == 3) { + //市 + item.setCity(pvTerminalTreeVO.getName()); + if (mapList.containsKey(pvTerminalTreeVO.getPid())) { + PvTerminalTreeVO pvTerminalTreeOne = mapList.get(pvTerminalTreeVO.getPid()); + item.setProvince(pvTerminalTreeOne.getName()); + } + } else if (deptLevel == 4) { + //县 + if (mapList.containsKey(pvTerminalTreeVO.getPid())) { + item.setCounty(pvTerminalTreeVO.getName()); + PvTerminalTreeVO pvTerminalTreeOne = mapList.get(pvTerminalTreeVO.getPid()); + if (Objects.nonNull(pvTerminalTreeOne)) { + item.setCity(pvTerminalTreeOne.getName()); + if (mapList.containsKey(pvTerminalTreeOne.getPid())) { + PvTerminalTreeVO pvTerminalTreeTwo = mapList.get(pvTerminalTreeOne.getPid()); + if (Objects.nonNull(pvTerminalTreeTwo)) { + item.setProvince(pvTerminalTreeTwo.getName()); + } + } + } + } + } + } + + if (mapCode.containsKey(item.getPlanOrgId())) { + item.setPlanOrgName(mapCode.get(item.getPlanOrgId()).getName()); + } + +// SupvFile supvFile = supvFileMapper.selectOne(new LambdaQueryWrapper().eq(SupvFile::getBusiId, item.getPlanId()).eq(SupvFile::getType, 0)); +// if (Objects.nonNull(supvFile)) { +// item.setAttachmentName(supvFile.getAttachmentName()); +// } + + List userList = userFeignClient.getUserByIdList(userIds).getData(); + Map map = userList.stream().collect(Collectors.toMap(User::getId, Function.identity())); + + if (map.containsKey(item.getPlanUserId())) { + item.setPlanUserName(map.get(item.getPlanUserId()).getName()); + } + + + }); + Page pageVo = new Page<>(); + pageVo.setTotal(page.getTotal()); + pageVo.setPages(page.getPages()); + pageVo.setSize(page.getSize()); + pageVo.setRecords(supvPlanVOList); + return pageVo; + } + + + private void checkParam(SupervisionPlanParam supvPlanParam, Boolean updateFlag) { + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SupervisionPlanPO::getWorkPlanName, supvPlanParam.getWorkPlanName()); + + if (updateFlag) { + if (supvPlanParam instanceof SupervisionPlanParam.UpdateSupvPlanParam) { + //修改 + lambdaQueryWrapper.ne(SupervisionPlanPO::getPlanId, ((SupervisionPlanParam.UpdateSupvPlanParam) supvPlanParam).getPlanId()); + } + } + + int count = this.count(lambdaQueryWrapper); + if (count > 0) { + throw new BusinessException("监督计划名称已存在"); + } + + //判断监督对象类型 + /* if (StrUtil.isNotBlank(supvPlanParam.getSupvObjType())) { + DictData dictData = dicDataFeignClient.getDicDataById(supvPlanParam.getSupvType()).getData(); + if (dictData.getCode().equals(DicDataEnum.New_Energy.getCode())) { + if (StrUtil.isBlank(supvPlanParam.getSupvObjType())) { + throw new BusinessException("监督对象类型不可为空"); + } + if (StrUtil.isBlank(supvPlanParam.getObjType())) { + throw new BusinessException("监督对象属性名称不可为空"); + } + if (Objects.isNull(supvPlanParam.getObjCapacity())) { + throw new BusinessException("监督对象协议容量不可为空"); + } + } else if (!dictData.getCode().equals(DicDataEnum.Technical_Super.getCode())) { + if (StrUtil.isBlank(supvPlanParam.getSupvObjName())) { + throw new BusinessException("监督对象名称不可为空"); + } + if (StrUtil.isBlank(supvPlanParam.getObjVoltageLevel())) { + throw new BusinessException("监督对象电压等级不可为空"); + } + + } else if (!dictData.getCode().equals(DicDataEnum.POWER_QUALITY.getCode())) { + if (Objects.isNull(supvPlanParam.getObjCapacity())) { + throw new BusinessException("监督对象协议容量不可为空"); + } + } + }*/ + //判断时间范围 + if(StrUtil.isAllNotBlank(supvPlanParam.getEffectStartTime(),supvPlanParam.getEffectEndTime())|| + StrUtil.isAllNotBlank(supvPlanParam.getEffectStartTime(),supvPlanParam.getReportIssueTime()) + ){ + String problemOcTime1 = supvPlanParam.getProblemOcTime(); + if(StrUtil.isNotBlank(problemOcTime1)){ + //实施开始时间 + DateTime effectStartTime = DateUtil.parse(supvPlanParam.getEffectStartTime(), "yyyy-MM-dd HH:mm:ss"); + //问题发现时间 + DateTime problemOcTime = DateUtil.parse(problemOcTime1, "yyyy-MM-dd HH:mm:ss"); + Boolean fly = false; + if(StrUtil.isNotBlank(supvPlanParam.getEffectEndTime())){ + //实施结束时间 + DateTime effectEndTime = DateUtil.parse(supvPlanParam.getEffectEndTime(), "yyyy-MM-dd HH:mm:ss"); + if (DateUtil.isIn(problemOcTime, effectStartTime, effectEndTime)) { + fly = true; + } + } + if(StrUtil.isNotBlank(supvPlanParam.getReportIssueTime())){ + //报告出具时间 + DateTime reportIssueTime = DateUtil.parse(supvPlanParam.getReportIssueTime(), "yyyy-MM-dd HH:mm:ss"); + if (DateUtil.isIn(problemOcTime, effectStartTime, reportIssueTime)) { + fly = true; + } + } + if (!fly) { + throw new BusinessException("问题发现时时间,不在实施开始时间到(实施结束时间/报告出具时间)范围内"); + } + } + } + } +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionProblemPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionProblemPOServiceImpl.java new file mode 100644 index 000000000..50ae66d64 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionProblemPOServiceImpl.java @@ -0,0 +1,132 @@ +package com.njcn.supervision.service.plan.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.utils.PubUtils; +import com.njcn.supervision.mapper.plan.SupervisionProblemPOMapper; +import com.njcn.supervision.pojo.param.plan.SupervisopnProblemParam; +import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO; +import com.njcn.supervision.pojo.po.plan.SupervisionProblemPO; +import com.njcn.supervision.service.plan.SupervisionPlanPOService; +import com.njcn.supervision.service.plan.SupervisionProblemPOService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.vo.PvTerminalTreeVO; +import com.njcn.web.factory.PageFactory; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * + * Description: + * Date: 2024/5/20 19:50【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +@RequiredArgsConstructor +public class SupervisionProblemPOServiceImpl extends ServiceImpl implements SupervisionProblemPOService{ + + + private final SupervisionPlanPOService supervisionPlanPOService; + private final DicDataFeignClient dicDataFeignClient; + + private final DeptFeignClient deptFeignClient; + @Override + @Transactional(rollbackFor = Exception.class) + public void addProblem(SupervisopnProblemParam supvProblemParam) { + checkParam(supvProblemParam.getPlanId(),supvProblemParam.getDiscoveryTime()); + SupervisionProblemPO supvProblem = new SupervisionProblemPO(); + BeanUtil.copyProperties(supvProblemParam, supvProblem); + supvProblem.setPlanRectificationTime(PubUtils.beginTimeToLocalDateTime(supvProblemParam.getPlanRectificationTime())); + if(StrUtil.isNotBlank(supvProblemParam.getRectificationTime())) { + supvProblem.setRectificationTime(PubUtils.beginTimeToLocalDateTime(supvProblemParam.getRectificationTime())); + } + this.save(supvProblem); + } + + @Override + public Page pageProblem(SupervisopnProblemParam supvProblemParam) { + DictData stamped_report = dicDataFeignClient.getDicDataByCode("Stamped_Report").getData(); + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(SupervisionProblemPO::getPlanId, supvProblemParam.getPlanId()); + Page page = this.page(new Page<>(PageFactory.getPageNum(supvProblemParam), PageFactory.getPageSize(supvProblemParam)), lambdaQueryWrapper); + + List deptList = deptFeignClient.allDeptList().getData(); + Map mapCode = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode, Function.identity())); + + for (SupervisionProblemPO item : page.getRecords()) { + if (mapCode.containsKey(item.getDutyOrgId())) { + item.setDutyOrgName(mapCode.get(item.getDutyOrgId()).getName()); + } + +// List supvFileList = supvFileMapper.selectList(new LambdaQueryWrapper().eq(SupvFile::getBusiId, item.getProblemId()).eq(SupvFile::getType, 1)); +// if (CollUtil.isNotEmpty(supvFileList)) { +// for(SupvFile supvFile:supvFileList){ +// if(supvFile.getAttachmentType().equals(stamped_report.getId())){ +// item.setAttachmentName(supvFile.getAttachmentName()); +// }else { +// item.setAttachmentNameTwo(supvFile.getAttachmentName()); +// } +// +// } +// } + + } + return page; + } + + //判断是否存在时间范围内 + public void checkParam(String id,String time) { + if(StrUtil.isNotBlank(time)){ + SupervisionPlanPO supvPlan = supervisionPlanPOService.getById(id); + if(ObjectUtil.isNotNull(supvPlan)){ + //判断时间范围 + if (ObjectUtil.isAllNotEmpty(supvPlan.getEffectStartTime(), supvPlan.getEffectEndTime())|| + ObjectUtil.isAllNotEmpty(supvPlan.getEffectStartTime(), supvPlan.getReportIssueTime()) + ) { + //实施开始时间 + DateTime effectStartTime = DateUtil.parse(DateUtil.formatLocalDateTime(supvPlan.getEffectStartTime()), "yyyy-MM-dd HH:mm:ss"); + //问题发现时间 + DateTime problemOcTime = DateUtil.parse(time, "yyyy-MM-dd HH:mm:ss"); + Boolean fly = false; + if(ObjectUtil.isNotNull(supvPlan.getEffectEndTime())){ + //实施结束时间 + DateTime effectEndTime = DateUtil.parse(DateUtil.formatLocalDateTime(supvPlan.getEffectEndTime()), "yyyy-MM-dd HH:mm:ss"); + if (DateUtil.isIn(problemOcTime, effectStartTime, effectEndTime)) { + fly = true; + } + } + if(ObjectUtil.isNotNull(supvPlan.getReportIssueTime())){ + //报告出具时间 + DateTime reportIssueTime = DateUtil.parse(DateUtil.formatLocalDateTime(supvPlan.getReportIssueTime()), "yyyy-MM-dd HH:mm:ss"); + if (DateUtil.isIn(problemOcTime, effectStartTime, reportIssueTime)) { + fly = true; + } + } + if (!fly) { + throw new BusinessException("问题发现时时间,不在实施开始时间到(实施结束时间/报告出具时间)范围内"); + + } + } + } + } + + } +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SupervisionGeneralSurveyPlanPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SupervisionGeneralSurveyPlanPOServiceImpl.java index e877ac525..fd5c227cd 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SupervisionGeneralSurveyPlanPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SupervisionGeneralSurveyPlanPOServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.supervision.service.survey.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -204,6 +205,10 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(generalSurveyPlanQueryParam), PageFactory.getPageSize(generalSurveyPlanQueryParam)), queryWrapper); 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 734101308..6b2ac8f73 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 @@ -251,6 +251,10 @@ public class UserReportPOServiceImpl extends ServiceImpl collect = list.stream().map(temp -> { UserReportVO vo = new UserReportVO(); BeanUtils.copyProperties(temp, vo); + UserVO userVO = userFeignClient.getUserById(temp.getReporter()).getData(); + vo.setReporter(temp.getReporter()); + vo.setReporterName(userVO.getName()); + vo.setOrgName(deptFeignClient.getDeptById(temp.getOrgId()).getData().getName()); return vo; }).collect(Collectors.toList()); return collect;