diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmModelController.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmModelController.java index 323005dbf..e5ce65829 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmModelController.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmModelController.java @@ -127,7 +127,7 @@ public class BpmModelController extends BaseController { @PostMapping("/update") @ApiOperation("修改模型") @ApiImplicitParam(name = "updateParam", value = "流程分类数据", required = true) - public HttpResult update( @Validated @RequestBody BpmModelParam.BpmModelUpdateParam updateParam) { + public HttpResult update(@Validated @RequestBody BpmModelParam.BpmModelUpdateParam updateParam) { String methodDescribe = getMethodDescribe("update"); modelService.updateModel(updateParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); @@ -153,7 +153,8 @@ public class BpmModelController extends BaseController { modelService.deployModel(id); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } -// + + // // @PutMapping("/update-state") // @Operation(summary = "修改模型的状态", description = "实际更新的部署的流程定义的状态") // @PreAuthorize("@ss.hasPermission('bpm:model:update')") @@ -162,13 +163,13 @@ public class BpmModelController extends BaseController { // return success(true); // } // -// @DeleteMapping("/delete") -// @Operation(summary = "删除模型") -// @Parameter(name = "id", description = "编号", required = true, example = "1024") -// @PreAuthorize("@ss.hasPermission('bpm:model:delete')") -// public CommonResult deleteModel(@RequestParam("id") String id) { -// modelService.deleteModel(id); -// return success(true); -// } + @GetMapping("/delete") + @Operation(summary = "删除模型") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public HttpResult deleteModel(String id) { + String methodDescribe = getMethodDescribe("deleteModel"); + modelService.deleteModel(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); + } } diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmQuitRunningDeviceStatusListener.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmQuitRunningDeviceStatusListener.java new file mode 100644 index 000000000..0b1c441f8 --- /dev/null +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/listener/business/BpmQuitRunningDeviceStatusListener.java @@ -0,0 +1,28 @@ +package com.njcn.bpm.listener.business; + +import com.njcn.bpm.listener.BpmProcessInstanceStatusEvent; +import com.njcn.bpm.listener.BpmProcessInstanceStatusEventListener; +import com.njcn.supervision.api.QuitRunningDeviceFeignClient; +import com.njcn.supervision.api.UserReportFeignClient; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + + +@Component +public class BpmQuitRunningDeviceStatusListener extends BpmProcessInstanceStatusEventListener { + + @Resource + private QuitRunningDeviceFeignClient quitRunningDeviceFeignClient; + + @Override + protected String getProcessDefinitionKey() { + return "quit_running_device"; + } + + @Override + protected void onEvent(BpmProcessInstanceStatusEvent event) { + quitRunningDeviceFeignClient.updateDeviceStatus(event.getBusinessKey(), event.getStatus()); + } + +} diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmModelConvert.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmModelConvert.java index d2d06ac59..9a8f21545 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmModelConvert.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmModelConvert.java @@ -108,10 +108,9 @@ public interface BpmModelConvert { // model.setMetaInfo(buildMetaInfoStr(null, // null, bean.getDescription(), // null, null, null, null)); - //类型暂时写死为表单 todo... model.setMetaInfo(buildMetaInfoStr(buildMetaInfo(model), bean.getIcon(), bean.getDescription(), - BpmModelFormTypeEnum.NORMAL.getType(), bean.getFormId(), bean.getFormCustomCreatePath(), bean.getFormCustomViewPath())); + bean.getFormType(), bean.getFormId(), bean.getFormCustomCreatePath(), bean.getFormCustomViewPath())); } default void copyToUpdateModel(Model model, BpmModelParam.BpmModelUpdateParam bean) { diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/enums/RunFlagEnum.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/enums/RunFlagEnum.java new file mode 100644 index 000000000..f489ee3fe --- /dev/null +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/enums/RunFlagEnum.java @@ -0,0 +1,26 @@ +package com.njcn.device.biz.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + + +@Getter +@AllArgsConstructor +public enum RunFlagEnum { + + RUNNING(0, "投运"), + CHECK(1, "检修"), + STOP(2, "停运"), + TEST(3, "调试"), + QUIT(4, "退运"); + + /** + * 状态 + */ + private final Integer status; + /** + * 描述 + */ + private final String desc; + +} diff --git a/pqs-device/device-boot/pom.xml b/pqs-device/device-boot/pom.xml index d571d9bc6..83820f0e4 100644 --- a/pqs-device/device-boot/pom.xml +++ b/pqs-device/device-boot/pom.xml @@ -21,16 +21,16 @@ - - - com.njcn - pms-device-boot - ${project.version} - com.njcn diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java index fc8c3ab87..cf4e80424 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java @@ -9,6 +9,7 @@ import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.po.LineDetail; import com.njcn.device.biz.pojo.po.Overlimit; +import com.njcn.device.pq.pojo.po.line.LineInfoVO; import com.njcn.device.pq.pojo.vo.*; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -71,6 +72,15 @@ public interface LineFeignClient { @PostMapping("getLineDetailData") HttpResult getLineDetailData(@RequestParam("id") String id); + /** + * 根据监测点id获取装置详情 + * + * @param id 装置id + * @return 装置详情 + */ + @PostMapping("getDeviceDetailData") + HttpResult getDeviceDetailData(@RequestParam("id") String id); + /** * 根据监测点id获取监测点越限 * @@ -141,14 +151,13 @@ public interface LineFeignClient { @PostMapping("getLineInfo") HttpResult> getLineInfo(@RequestBody PollutionParamDTO pollutionParamDTO); - /** - * 获取所有监测点 - * @param id 监测点集合 - * @return 结果 - */ + @PostMapping("getLineSubGdDetail") HttpResult getLineSubGdDetail(@RequestParam("id") String id); + @PostMapping("getLineInfoVO") + HttpResult getLineInfoVO(@RequestParam("id") String id); + /** * 获取告警变电站信息 * @param list 变电站集合 @@ -325,5 +334,9 @@ public interface LineFeignClient { HttpResult> getLineDetailByIds(@RequestBody List ids); + @PostMapping("/updateDeviceRunFlag") + void updateDeviceRunFlag(@RequestParam("deviceId")String deviceId, @RequestParam("status")Integer status); + @PostMapping("/updateLineRunFlag") + void updateLineRunFlag(@RequestParam("lineId")String lineId, @RequestParam("status")Integer status); } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java index a92fe69c8..5d414a6f2 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java @@ -10,6 +10,7 @@ import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.po.LineDetail; import com.njcn.device.biz.pojo.po.Overlimit; +import com.njcn.device.pq.pojo.po.line.LineInfoVO; import com.njcn.device.pq.pojo.vo.*; import com.njcn.device.biz.utils.DeviceEnumUtil; import feign.hystrix.FallbackFactory; @@ -63,6 +64,12 @@ public class LineFeignClientFallbackFactory implements FallbackFactory getDeviceDetailData(String id) { + log.error("{}异常,降级处理,异常为:{}", "根据装置Id获取装置详情 ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + @Override public HttpResult getLineOverLimitData(String id) { log.error("{}异常,降级处理,异常为:{}", "根据监测点Id获取监测点越限 ", throwable.toString()); @@ -117,6 +124,12 @@ public class LineFeignClientFallbackFactory implements FallbackFactory getLineInfoVO(String id) { + log.error("{}异常,降级处理,异常为:{}", "监测点详细信息 ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + @Override public HttpResult> getWarningSub(List list) { log.error("{}异常,降级处理,异常为:{}", "变电站集合为 ", throwable.toString()); @@ -237,6 +250,18 @@ public class LineFeignClientFallbackFactory implements FallbackFactory getDeviceDetailData(@RequestParam("id") String id){ + String methodDescribe = getMethodDescribe("getDeviceDetailData"); + DeviceVO result = lineService.getDeviceDetailData(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getLineOverLimitData") @ApiOperation("根据监测点id获取越限详情") @@ -194,6 +205,39 @@ public class LineController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getLineInfoVO") + @ApiOperation("根据监测点id集合获取详细信息") + @ApiIgnore + public HttpResult getLineInfoVO(@RequestParam("id") String id) { + String methodDescribe = getMethodDescribe("getLineInfoVO"); + LineDetailVO result = lineMapper.getLineInfoVO(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @PostMapping("/updateDeviceRunFlag") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("更新终端运行状态") + @ApiIgnore + public HttpResult updateDeviceRunFlag(@RequestParam("deviceId")String deviceId, @RequestParam("status")Integer status){ + String methodDescribe = getMethodDescribe("updateDeviceRunFlag"); + deviceMapper.updateDeviceRunFlag(deviceId,status); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); + } + + @PostMapping("/updateLineRunFlag") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("更新监测点运行状态") + @ApiIgnore + public HttpResult updateLineRunFlag(@RequestParam("lineId")String lineId, @RequestParam("status")Integer status){ + String methodDescribe = getMethodDescribe("updateLineRunFlag"); + lineDetailMapper.updateLineRunFlag(lineId,status); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); + } + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getWarningSub") @ApiOperation("获取告警变电站信息") diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java index c25481cff..272a42bb5 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/DeviceMapper.java @@ -73,4 +73,6 @@ public interface DeviceMapper extends BaseMapper { * @Date: 2023/11/7 15:40 */ List selectDevByIds(@Param("ids") List ids); + + void updateDeviceRunFlag(@Param("id")String deviceId, @Param("runFlag")Integer status); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineDetailMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineDetailMapper.java index efa7d7d54..22fe4f799 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineDetailMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineDetailMapper.java @@ -51,4 +51,6 @@ public interface LineDetailMapper extends BaseMapper { LineDevGetDTO getMonitorDetail(@Param("monitorId")String monitorId); + + void updateLineRunFlag(@Param("id")String lineId, @Param("runFlag")Integer status); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java index e0b121a66..607ef9c7d 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java @@ -543,4 +543,8 @@ public interface LineMapper extends BaseMapper { List getDeviceIdByPowerFlag(@Param("lineIds")List lineIds, @Param("powerFlag")Integer manufacturer); + + DeviceVO getDeviceDetailData(@Param("id")String id); + + LineDetailVO getLineInfoVO(@Param("id")String id); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml index dad36b515..7de714647 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/DeviceMapper.xml @@ -247,4 +247,10 @@ AND line.id = lineDetail.id + + + update pq_device + set run_flag = #{runFlag} + where id = #{id} + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineDetailMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineDetailMapper.xml index 01d329735..df79d18db 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineDetailMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineDetailMapper.xml @@ -60,4 +60,10 @@ inner join pq_line_detail b on a.id=b.id where a.id = #{monitorId} + + + update pq_line_detail + set run_flag = #{runFlag} + where id = #{id} + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml index 0fd77cba6..50b5cada5 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml @@ -1548,4 +1548,50 @@ t2.Power_Flag = #{powerFlag} + + + + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java index d9a8ee21f..44e77d697 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java @@ -209,4 +209,6 @@ public interface LineService extends IService { List getLineDetailByIds(List ids); LineALLInfoDTO getLineAllDetail(String id); + + DeviceVO getDeviceDetailData(String id); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java index b81aac2cb..99396a2b8 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java @@ -642,6 +642,11 @@ public class LineServiceImpl extends ServiceImpl implements Li return lineALLInfoDTO; } + @Override + public DeviceVO getDeviceDetailData(String id) { + return this.baseMapper.getDeviceDetailData(id); + } + @Override public List getOverLimitByList(PollutionParamDTO pollutionParamDTO) { return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList()); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java index b8a24590b..2993cd674 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java @@ -229,7 +229,6 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { @Override public List getTerminalSelectTree(Integer level) { List resultList = new ArrayList<>(); - DeviceInfoParam deviceInfoParam = new DeviceInfoParam(); deviceInfoParam.setDeptIndex(RequestUtil.getDeptIndex()); deviceInfoParam.setServerName(ServerEnum.HARMONIC.getName()); @@ -251,13 +250,23 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { terminalSelectTreeVO.setLabel(map.get(line.getPid()).getName() + "_" + line.getName()); children.add(terminalSelectTreeVO); } - } else { + List substationList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId, generalDeviceDTO.getSubIndexes())); List devList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId, generalDeviceDTO.getDeviceIndexes())); - for (Line line : devList) { + for (Line sub : substationList) { TerminalSelectTreeVO terminalSelectTreeVO = new TerminalSelectTreeVO(); - terminalSelectTreeVO.setValue(line.getId()); - terminalSelectTreeVO.setLabel(line.getName()); + terminalSelectTreeVO.setValue(sub.getId()); + terminalSelectTreeVO.setLabel(sub.getName()); + //根据变电站获取其下面所有的装置 + List devChildren = new ArrayList<>(); + List subDev = devList.stream().filter(dev -> dev.getPids().contains(sub.getId())).collect(Collectors.toList()); + for (Line line : subDev) { + TerminalSelectTreeVO terminalSelectTreeLineVO = new TerminalSelectTreeVO(); + terminalSelectTreeLineVO.setValue(line.getId()); + terminalSelectTreeLineVO.setLabel(line.getName()); + devChildren.add(terminalSelectTreeLineVO); + } + terminalSelectTreeVO.setChildren(devChildren); children.add(terminalSelectTreeVO); } } diff --git a/pqs-gateway/src/main/resources/bootstrap.yml b/pqs-gateway/src/main/resources/bootstrap.yml index 5775a5a12..65e944b8b 100644 --- a/pqs-gateway/src/main/resources/bootstrap.yml +++ b/pqs-gateway/src/main/resources/bootstrap.yml @@ -219,7 +219,7 @@ whitelist: - /system-boot/file/** - /system-boot/area/** - /advance-boot/** - #- /device-boot/** + - /device-boot/** #- /system-boot/** #- /harmonic-boot/** #- /energy-boot/** diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/QuitRunningDeviceFeignClient.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/QuitRunningDeviceFeignClient.java new file mode 100644 index 000000000..fdf58d9be --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/QuitRunningDeviceFeignClient.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.QuitRunningDeviceFeignClientFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + + +/** + * 流程实例 Api 接口 + * + * @author hongawen + */ +@FeignClient(value = ServerInfo.SUPERVISION, path = "/quitRunningDevice", fallbackFactory = QuitRunningDeviceFeignClientFallbackFactory.class) +public interface QuitRunningDeviceFeignClient { + + @GetMapping("/updateDeviceStatus") + HttpResult updateDeviceStatus(@RequestParam("businessKey") String businessKey, @RequestParam("status")Integer status); + +} diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/QuitRunningDeviceFeignClientFallbackFactory.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/QuitRunningDeviceFeignClientFallbackFactory.java new file mode 100644 index 000000000..c62e5c476 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/QuitRunningDeviceFeignClientFallbackFactory.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.QuitRunningDeviceFeignClient; +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 QuitRunningDeviceFeignClientFallbackFactory implements FallbackFactory { + @Override + public QuitRunningDeviceFeignClient 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 QuitRunningDeviceFeignClient() { + @Override + public HttpResult updateDeviceStatus(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/vo/device/QuitRunningDeviceVO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/QuitRunningDeviceVO.java index cc956c653..402ba0814 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/QuitRunningDeviceVO.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/QuitRunningDeviceVO.java @@ -30,6 +30,15 @@ public class QuitRunningDeviceVO extends BaseEntity implements Serializable{ @ApiModelProperty(value = "设备编号") private String deviceId; + @ApiModelProperty("供电公司名称") + private String gdName; + + @ApiModelProperty("变电站名称") + private String subName; + + @ApiModelProperty("母线名称") + private String volName; + /** * 设备名称 */ @@ -42,6 +51,12 @@ public class QuitRunningDeviceVO extends BaseEntity implements Serializable{ @ApiModelProperty(value = "设备类型") private Integer deviceType; + /** + * 设备状态 + */ + @ApiModelProperty(value = "设备状态") + private Integer deviceStatus; + /** * 资产编号 */ diff --git a/pqs-supervision/supervision-boot/pom.xml b/pqs-supervision/supervision-boot/pom.xml index d6878262b..2ba872d4b 100644 --- a/pqs-supervision/supervision-boot/pom.xml +++ b/pqs-supervision/supervision-boot/pom.xml @@ -36,6 +36,12 @@ ${project.version} + + com.njcn + pq-device-api + ${project.version} + + com.njcn common-web diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/QuitRunningDeviceController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/QuitRunningDeviceController.java index 0a05bcc3c..bc5c8527e 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/QuitRunningDeviceController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/QuitRunningDeviceController.java @@ -16,14 +16,12 @@ import com.njcn.supervision.service.device.IQuitRunningDeviceService; 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.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; import com.njcn.web.controller.BaseController; /** @@ -63,6 +61,25 @@ public class QuitRunningDeviceController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, runningDeviceId, methodDescribe); } + @GetMapping("/updateDeviceStatus") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @Operation(summary = "更新退运装置流程状态") + public HttpResult updateDeviceStatus(String businessKey,Integer status) { + String methodDescribe = getMethodDescribe("updateDeviceStatus"); + quitRunningDeviceService.updateDeviceStatus(businessKey,status); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @GetMapping("/getById") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @Operation(summary = "根据id获取设备的详细数据") + public HttpResult getById(String id) { + String methodDescribe = getMethodDescribe("getById"); + QuitRunningDeviceVO quitRunningDeviceVO = quitRunningDeviceService.getVOById(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, quitRunningDeviceVO, methodDescribe); + } + + } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportManageController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportManageController.java index a41ec0493..584bbc984 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportManageController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportManageController.java @@ -72,7 +72,7 @@ public class UserReportManageController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/removeUserReport") - @ApiOperation("查询干扰源用户") + @ApiOperation("删除干扰源用户记录") public HttpResult removeUserReport(@RequestParam("ids") List ids){ String methodDescribe = getMethodDescribe("removeUserReport"); Boolean flag = userReportPOService.removeUserReport(ids); @@ -88,13 +88,16 @@ public class UserReportManageController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportVO, methodDescribe); } + + @GetMapping("/updateUserReportStatus") @OperateInfo(info = LogEnum.BUSINESS_COMMON) - @Operation(summary = "根据id获取用户档案录入的详细数据") + @Operation(summary = "更新用户数据流程状态") public HttpResult updateUserReportStatus(String businessKey,Integer status) { String methodDescribe = getMethodDescribe("updateUserReportStatus"); - userReportPOService.updateUserReportStatus(businessKey,status); + userReportPOService.updateUserReportStatus(businessKey,status); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/QuitRunningDeviceMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/QuitRunningDeviceMapper.xml index e6e2b9b93..de7e01a98 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/QuitRunningDeviceMapper.xml +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/QuitRunningDeviceMapper.xml @@ -4,14 +4,14 @@ 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 9d42f79dd..8506c3706 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 @@ -19,4 +19,8 @@ public interface IQuitRunningDeviceService extends IService { String addRunningDevice(QuitRunningDeviceParam quitRunningDeviceParam); Page getQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam); + + void updateDeviceStatus(String businessKey, Integer status); + + QuitRunningDeviceVO getVOById(String id); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java index 6e435327f..d5cfca4d4 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java @@ -1,13 +1,21 @@ package com.njcn.supervision.service.device.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.bpm.api.BpmProcessFeignClient; +import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum; import com.njcn.bpm.enums.BpmTaskStatusEnum; import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.device.biz.enums.RunFlagEnum; +import com.njcn.device.pq.api.LineFeignClient; +import com.njcn.device.pq.pojo.po.line.LineInfoVO; +import com.njcn.device.pq.pojo.vo.DeviceVO; +import com.njcn.device.pq.pojo.vo.LineDetailDataVO; +import com.njcn.device.pq.pojo.vo.LineDetailVO; import com.njcn.supervision.mapper.device.QuitRunningDeviceMapper; import com.njcn.supervision.pojo.param.device.QuitRunningDeviceParam; import com.njcn.supervision.pojo.po.device.QuitRunningDevice; @@ -19,6 +27,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Objects; @@ -34,8 +43,12 @@ import java.util.Objects; @RequiredArgsConstructor public class QuitRunningDeviceServiceImpl extends ServiceImpl implements IQuitRunningDeviceService { + + private final BpmProcessFeignClient bpmProcessFeignClient; + private final LineFeignClient lineFeignClient; + /** * 设备退运对应的流程定义 KEY */ @@ -80,7 +93,76 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl(PageFactory.getPageNum(quitRunningDeviceQueryParam), PageFactory.getPageSize(quitRunningDeviceQueryParam)), quitRunningDeviceVOQueryWrapper); + Page page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(quitRunningDeviceQueryParam), PageFactory.getPageSize(quitRunningDeviceQueryParam)), quitRunningDeviceVOQueryWrapper); + List records = page.getRecords(); + if(CollectionUtil.isNotEmpty(records)){ + for (QuitRunningDeviceVO record : records) { + if(record.getDeviceType() == 1){ + DeviceVO deviceVO = lineFeignClient.getDeviceDetailData(record.getDeviceId()).getData(); + record.setDeviceName(deviceVO.getName()); + record.setDeviceStatus(deviceVO.getRunFlag()); + record.setGdName(deviceVO.getGdName()); + record.setSubName(deviceVO.getSubName()); + //获取装置详细信息 + }else if(record.getDeviceType() == 2){ + //获取监测点详细信息 + LineInfoVO lineInfoVO = lineFeignClient.getLineInfoVO(record.getDeviceId()).getData(); + record.setDeviceStatus(lineInfoVO.getRunFlag()); + record.setDeviceName(lineInfoVO.getVolName().concat("_").concat(lineInfoVO.getLineName())); + record.setGdName(lineInfoVO.getGdName()); + record.setSubName(lineInfoVO.getSubName()); + } + } + } + page.setRecords(records); + return page; + + } + + /** + * 监听该流程的状态 + */ + @Override + public void updateDeviceStatus(String businessKey, Integer status) { + QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(businessKey); + //如果状态为审批通过 + if(status.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus())){ + //通过,则需要远程将该装置调整为退运 + if(quitRunningDevice.getDeviceType() == 1){ + //修改装置 + lineFeignClient.updateDeviceRunFlag(quitRunningDevice.getDeviceId(), RunFlagEnum.QUIT.getStatus()); + }else if(quitRunningDevice.getDeviceType() == 2){ + //修改监测点 + lineFeignClient.updateLineRunFlag(quitRunningDevice.getDeviceId(),RunFlagEnum.QUIT.getStatus()); + } + } + quitRunningDevice.setStatus(status); + this.updateById(quitRunningDevice); + } + + @Override + public QuitRunningDeviceVO getVOById(String id) { + QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(id); + QuitRunningDeviceVO quitRunningDeviceVO = new QuitRunningDeviceVO(); + BeanUtils.copyProperties(quitRunningDevice, quitRunningDeviceVO); + //通过,则需要远程将该装置调整为退运 + if(quitRunningDeviceVO.getDeviceType() == 1){ + DeviceVO deviceVO = lineFeignClient.getDeviceDetailData(quitRunningDeviceVO.getDeviceId()).getData(); + quitRunningDeviceVO.setDeviceName(deviceVO.getName()); + quitRunningDeviceVO.setDeviceStatus(deviceVO.getRunFlag()); + quitRunningDeviceVO.setGdName(deviceVO.getGdName()); + quitRunningDeviceVO.setSubName(deviceVO.getSubName()); + //获取装置详细信息 + }else if(quitRunningDeviceVO.getDeviceType() == 2){ + //获取监测点详细信息 + LineInfoVO lineInfoVO = lineFeignClient.getLineInfoVO(quitRunningDeviceVO.getDeviceId()).getData(); + quitRunningDeviceVO.setDeviceStatus(lineInfoVO.getRunFlag()); + quitRunningDeviceVO.setDeviceName(lineInfoVO.getVolName().concat("_").concat(lineInfoVO.getLineName())); + quitRunningDeviceVO.setGdName(lineInfoVO.getGdName()); + quitRunningDeviceVO.setSubName(lineInfoVO.getSubName()); + quitRunningDeviceVO.setVolName(lineInfoVO.getVolName()); + } + return quitRunningDeviceVO; } private void checkDeviceStatus(QuitRunningDeviceParam quitRunningDeviceParam) { diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java index c0c59d8d3..ef250ab95 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java @@ -569,7 +569,7 @@ public class UserServiceImpl extends ServiceImpl implements IU @Override public List simpleList() { LambdaQueryWrapper userLambdaQueryWrapper = new LambdaQueryWrapper<>(); - userLambdaQueryWrapper.select(User::getId, User::getName).eq(User::getState, DataStateEnum.ENABLE.getCode()); + userLambdaQueryWrapper.select(User::getId, User::getName).eq(User::getState, DataStateEnum.ENABLE.getCode()).eq(User::getType,2); return this.baseMapper.selectList(userLambdaQueryWrapper); }