From b496452fd2396c2c994bef39116ca53d3d2af7fe Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Tue, 14 May 2024 19:54:55 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=8F=91=E8=B5=B7=E5=92=8C?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=8A=9F=E8=83=BD=E5=AE=9E=E7=8E=B0=EF=BC=8C?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=8F=91=E8=B5=B7=E8=BF=98=E6=9C=89=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E4=BA=8B=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/bpm/api/BpmProcessFeignClient.java | 8 +- .../BpmProcessFeignClientFallbackFactory.java | 7 ++ .../com/njcn/bpm/enums/BpmResponseEnum.java | 2 + .../BpmProcessInstanceCancelParam.java | 8 +- .../BpmProcessDefinitionController.java | 11 -- .../BpmProcessInstanceController.java | 10 ++ .../impl/BpmProcessInstanceServiceImpl.java | 4 +- .../param/device/QuitRunningDeviceParam.java | 2 +- .../device/QuitRunningDeviceController.java | 37 +++++-- .../device/IQuitRunningDeviceService.java | 4 + .../impl/QuitRunningDeviceServiceImpl.java | 103 ++++++++++++++---- .../user/impl/UserReportPOServiceImpl.java | 3 + 12 files changed, 153 insertions(+), 46 deletions(-) diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/BpmProcessFeignClient.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/BpmProcessFeignClient.java index 769fbf607..af299113a 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/BpmProcessFeignClient.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/BpmProcessFeignClient.java @@ -2,6 +2,7 @@ package com.njcn.bpm.api; import com.njcn.bpm.api.fallback.BpmProcessFeignClientFallbackFactory; import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; +import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import org.springframework.cloud.openfeign.FeignClient; @@ -15,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam; * * @author hongawen */ -@FeignClient(value = ServerInfo.BPM,path = "/bpm/processDefinition",fallbackFactory = BpmProcessFeignClientFallbackFactory.class) +@FeignClient(value = ServerInfo.BPM,path = "/bpm/processInstance",fallbackFactory = BpmProcessFeignClientFallbackFactory.class) public interface BpmProcessFeignClient { /** @@ -27,4 +28,9 @@ public interface BpmProcessFeignClient { @PostMapping("/createProcessInstance") HttpResult createProcessInstance(@RequestParam("userId") String userId, @RequestBody BpmProcessInstanceCreateReqDTO reqDTO); + + @PostMapping("/cancelByStartUser") + HttpResult cancelProcessInstanceByStartUser(@RequestBody BpmProcessInstanceCancelParam cancelReqVO); + + } diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/fallback/BpmProcessFeignClientFallbackFactory.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/fallback/BpmProcessFeignClientFallbackFactory.java index d5234899f..32ed340b0 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/fallback/BpmProcessFeignClientFallbackFactory.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/fallback/BpmProcessFeignClientFallbackFactory.java @@ -2,6 +2,7 @@ package com.njcn.bpm.api.fallback; import com.njcn.bpm.api.BpmProcessFeignClient; import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; +import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.bpm.utils.BpmEnumUtil; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; @@ -34,6 +35,12 @@ public class BpmProcessFeignClientFallbackFactory implements FallbackFactory cancelProcessInstanceByStartUser(BpmProcessInstanceCancelParam cancelReqVO) { + log.error("{}异常,降级处理,异常为:{}", "取消流程实例", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; } } diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmResponseEnum.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmResponseEnum.java index b1839e062..9a5963637 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmResponseEnum.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmResponseEnum.java @@ -46,6 +46,8 @@ public enum BpmResponseEnum { REPEAT_CATEGORY_CODE_FORM("A00568", "流程类型编码重复"), + QUIT_RUNNING_REPEAT("A00568", "该设备已在审批中"), + REPEAT_SIGN_NAME_FORM("A00568", "流程标识名称重复"), REPEAT_SIGN_KEY_FORM("A00568", "流程标识key重复"), diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/instance/BpmProcessInstanceCancelParam.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/instance/BpmProcessInstanceCancelParam.java index cc0eac84b..834cf308e 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/instance/BpmProcessInstanceCancelParam.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/instance/BpmProcessInstanceCancelParam.java @@ -10,12 +10,16 @@ import javax.validation.constraints.NotEmpty; @Data public class BpmProcessInstanceCancelParam { - @ApiModelProperty("流程实例的编号") - @NotEmpty(message = "流程实例的编号不能为空") + @ApiModelProperty("流程业务的编号") + @NotEmpty(message = "流程业务的编号不能为空") private String id; @ApiModelProperty("取消原因") @NotEmpty(message = "取消原因不能为空") private String reason; + @ApiModelProperty("流程实例的编号") + @NotEmpty(message = "流程实例的编号不能为空") + private String processInstanceId; + } diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmProcessDefinitionController.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmProcessDefinitionController.java index 992d04125..666033c0a 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmProcessDefinitionController.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmProcessDefinitionController.java @@ -57,8 +57,6 @@ public class BpmProcessDefinitionController extends BaseController { private final IBpmCategoryService categoryService; - private final IBpmProcessInstanceService processInstanceService; - @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/page") @ApiOperation("获得流程定义分页") @@ -125,13 +123,4 @@ public class BpmProcessDefinitionController extends BaseController { processDefinition, null, null, null, null, bpmnModel, userTaskList), methodDescribe); } - - @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) - @ApiOperation("创建流程实例") - @PostMapping("/createProcessInstance") - HttpResult createProcessInstance(@RequestParam("userId") String userId, @RequestBody BpmProcessInstanceCreateReqDTO reqDTO){ - String methodDescribe = getMethodDescribe("createProcessInstance"); - String instanceId = processInstanceService.createProcessInstance(userId, reqDTO); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, instanceId, methodDescribe); - } } diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmProcessInstanceController.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmProcessInstanceController.java index d0fc3a941..0a71f1c9d 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmProcessInstanceController.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmProcessInstanceController.java @@ -19,6 +19,7 @@ import com.njcn.bpm.utils.BpmProcessInstanceConvert; import com.njcn.bpm.utils.BpmnModelUtils; import com.njcn.bpm.utils.CollectionUtils; 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; @@ -192,4 +193,13 @@ public class BpmProcessInstanceController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @ApiOperation("创建流程实例") + @PostMapping("/createProcessInstance") + HttpResult createProcessInstance(@RequestParam("userId") String userId, @RequestBody BpmProcessInstanceCreateReqDTO reqDTO){ + String methodDescribe = getMethodDescribe("createProcessInstance"); + String instanceId = processInstanceService.createProcessInstance(userId, reqDTO); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, instanceId, methodDescribe); + } + } diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java index 83a90801c..445556135 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java @@ -227,7 +227,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService @Override public void cancelProcessInstanceByStartUser(String userId, BpmProcessInstanceCancelParam cancelReqVO) { // 1.1 校验流程实例存在 - ProcessInstance instance = getProcessInstance(cancelReqVO.getId()); + ProcessInstance instance = getProcessInstance(cancelReqVO.getProcessInstanceId()); if (instance == null) { throw new BusinessException(BpmResponseEnum.PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS); } @@ -238,7 +238,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService // 2. 通过删除流程实例,实现流程实例的取消, // 删除流程实例,正则执行任务 ACT_RU_TASK. 任务会被删除。 - deleteProcessInstance(cancelReqVO.getId(), + deleteProcessInstance(cancelReqVO.getProcessInstanceId(), BpmDeleteReasonEnum.CANCEL_PROCESS_INSTANCE_BY_START_USER.format(cancelReqVO.getReason())); // 3. 进一步的处理,交给 updateProcessInstanceCancel 方法 diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/QuitRunningDeviceParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/QuitRunningDeviceParam.java index 9b61407f1..379f854ae 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/QuitRunningDeviceParam.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/QuitRunningDeviceParam.java @@ -25,7 +25,7 @@ import java.util.Map; @Data @AllArgsConstructor @NoArgsConstructor -public class QuitRunningDeviceParam extends BaseEntity implements Serializable { +public class QuitRunningDeviceParam implements Serializable { private static final long serialVersionUID = 1L; 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 bc5c8527e..23d74b17f 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 @@ -2,6 +2,7 @@ package com.njcn.supervision.controller.device; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.enums.common.LogEnum; @@ -24,9 +25,11 @@ import org.springframework.web.bind.annotation.*; import com.njcn.web.controller.BaseController; +import javax.validation.Valid; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author hongawen @@ -45,28 +48,48 @@ public class QuitRunningDeviceController extends BaseController { @PostMapping("/list") @ApiOperation("分页查询当前用户能看到的退运设备数据") @ApiImplicitParam(name = "quitRunningDeviceQueryParam", value = "参数", required = true) - public HttpResult> getQuitRunningDevice(@RequestBody @Validated QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam){ + public HttpResult> getQuitRunningDevice(@RequestBody @Validated QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam) { String methodDescribe = getMethodDescribe("getQuitRunningDevice"); Page out = quitRunningDeviceService.getQuitRunningDevice(quitRunningDeviceQueryParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); } - @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.ADD) + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) @PostMapping("/add") @ApiOperation("新增设备退运") @ApiImplicitParam(name = "quitRunningDeviceParam", value = "实体参数", required = true) - public HttpResult addRunningDevice(@RequestBody @Validated QuitRunningDeviceParam quitRunningDeviceParam){ + public HttpResult addRunningDevice(@RequestBody @Validated QuitRunningDeviceParam quitRunningDeviceParam) { String methodDescribe = getMethodDescribe("addRunningDevice"); String runningDeviceId = quitRunningDeviceService.addRunningDevice(quitRunningDeviceParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, runningDeviceId, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @PostMapping("/update") + @ApiOperation("更新设备退运") + @ApiImplicitParam(name = "quitRunningDeviceParam", value = "实体参数", required = true) + public HttpResult quitRunningDeviceUpdate(@RequestBody @Validated QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam) { + String methodDescribe = getMethodDescribe("quitRunningDeviceUpdateParam"); + String runningDeviceId = quitRunningDeviceService.quitRunningDeviceUpdate(quitRunningDeviceUpdateParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, runningDeviceId, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @PostMapping("/cancel") + @ApiOperation("取消设备退运") + @ApiImplicitParam(name = "cancelReqVO", value = "取消原因", required = true) + public HttpResult cancelQuitRunningDevice(@Validated @RequestBody BpmProcessInstanceCancelParam cancelReqVO) { + String methodDescribe = getMethodDescribe("cancelQuitRunningDevice"); + String runningDeviceId = quitRunningDeviceService.cancelQuitRunningDevice(cancelReqVO); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, runningDeviceId, methodDescribe); + } + @GetMapping("/updateDeviceStatus") @OperateInfo(info = LogEnum.BUSINESS_COMMON) @Operation(summary = "更新退运装置流程状态") - public HttpResult updateDeviceStatus(String businessKey,Integer status) { + public HttpResult updateDeviceStatus(String businessKey, Integer status) { String methodDescribe = getMethodDescribe("updateDeviceStatus"); - quitRunningDeviceService.updateDeviceStatus(businessKey,status); + quitRunningDeviceService.updateDeviceStatus(businessKey, status); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } @@ -80,7 +103,5 @@ public class QuitRunningDeviceController extends BaseController { } - - } 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 8506c3706..1638cff34 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 @@ -2,6 +2,7 @@ package com.njcn.supervision.service.device; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.supervision.pojo.param.device.QuitRunningDeviceParam; import com.njcn.supervision.pojo.po.device.QuitRunningDevice; import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO; @@ -17,10 +18,13 @@ import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO; public interface IQuitRunningDeviceService extends IService { String addRunningDevice(QuitRunningDeviceParam quitRunningDeviceParam); + String quitRunningDeviceUpdate(QuitRunningDeviceParam.QuitRunningDeviceUpdateParam quitRunningDeviceUpdateParam); Page getQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam); void updateDeviceStatus(String businessKey, Integer status); QuitRunningDeviceVO getVOById(String id); + + String cancelQuitRunningDevice(BpmProcessInstanceCancelParam cancelReqVO); } 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 d5cfca4d4..7e83a7623 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 @@ -2,14 +2,20 @@ 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.LambdaQueryWrapper; 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.BpmResponseEnum; import com.njcn.bpm.enums.BpmTaskStatusEnum; import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; +import com.njcn.bpm.pojo.param.BpmCategoryParam; +import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; +import com.njcn.bpm.pojo.po.BpmCategory; import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.biz.enums.RunFlagEnum; import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.pojo.po.line.LineInfoVO; @@ -25,6 +31,7 @@ import com.njcn.web.factory.PageFactory; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; @@ -33,7 +40,7 @@ import java.util.Objects; /** *

- * 服务实现类 + * 服务实现类 *

* * @author hongawen @@ -44,7 +51,6 @@ import java.util.Objects; public class QuitRunningDeviceServiceImpl extends ServiceImpl implements IQuitRunningDeviceService { - private final BpmProcessFeignClient bpmProcessFeignClient; private final LineFeignClient lineFeignClient; @@ -55,9 +61,11 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl processInstanceVariables = new HashMap<>(); + BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO(); + bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(PROCESS_KEY); + bpmProcessInstanceCreateReqDTO.setBusinessKey(quitRunningDevice.getId()); + bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(quitRunningDeviceUpdateParam.getStartUserSelectAssignees()); + bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables); + String processInstanceId = bpmProcessFeignClient.createProcessInstance(quitRunningDevice.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData(); // 将工作流的编号,更新到流程单中 quitRunningDevice.setProcessInstanceId(processInstanceId); this.baseMapper.updateById(quitRunningDevice); @@ -82,29 +111,28 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl quitRunningDeviceVOQueryWrapper = new QueryWrapper<>(); if (Objects.nonNull(quitRunningDeviceQueryParam)) { //判断监测点/设备的选择 - if(Objects.nonNull(quitRunningDeviceQueryParam.getDeviceType())&&Objects.nonNull(quitRunningDeviceQueryParam.getDeviceId())){ - quitRunningDeviceVOQueryWrapper.eq("supervision_quit_running_device.device_type",quitRunningDeviceQueryParam.getDeviceType()); - quitRunningDeviceVOQueryWrapper.eq("supervision_quit_running_device.device_id",quitRunningDeviceQueryParam.getDeviceId()); + if (Objects.nonNull(quitRunningDeviceQueryParam.getDeviceType()) && Objects.nonNull(quitRunningDeviceQueryParam.getDeviceId())) { + quitRunningDeviceVOQueryWrapper.eq("supervision_quit_running_device.device_type", quitRunningDeviceQueryParam.getDeviceType()); + quitRunningDeviceVOQueryWrapper.eq("supervision_quit_running_device.device_id", quitRunningDeviceQueryParam.getDeviceId()); } //添加上时间范围 quitRunningDeviceVOQueryWrapper.between("supervision_quit_running_device.Create_Time", DateUtil.beginOfDay(DateUtil.parse(quitRunningDeviceQueryParam.getSearchBeginTime())), DateUtil.endOfDay(DateUtil.parse(quitRunningDeviceQueryParam.getSearchEndTime()))); } - quitRunningDeviceVOQueryWrapper.orderByDesc("supervision_quit_running_device.create_time"); - //todo...根据设备id获取详细数据用于回显,待会做 + quitRunningDeviceVOQueryWrapper.orderByDesc("supervision_quit_running_device.Update_Time"); Page page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(quitRunningDeviceQueryParam), PageFactory.getPageSize(quitRunningDeviceQueryParam)), quitRunningDeviceVOQueryWrapper); List records = page.getRecords(); - if(CollectionUtil.isNotEmpty(records)){ + if (CollectionUtil.isNotEmpty(records)) { for (QuitRunningDeviceVO record : records) { - if(record.getDeviceType() == 1){ + 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){ + } else if (record.getDeviceType() == 2) { //获取监测点详细信息 LineInfoVO lineInfoVO = lineFeignClient.getLineInfoVO(record.getDeviceId()).getData(); record.setDeviceStatus(lineInfoVO.getRunFlag()); @@ -126,14 +154,14 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl quitRunningDeviceLambdaQueryWrapper = new LambdaQueryWrapper<>(); + //判断流程表单的名称 + quitRunningDeviceLambdaQueryWrapper + .eq(QuitRunningDevice::getDeviceId, quitRunningDeviceParam.getDeviceId()) + //审批中、审批通过 + .in(QuitRunningDevice::getStatus, CollectionUtil.newArrayList(BpmProcessInstanceStatusEnum.RUNNING.getStatus(), BpmProcessInstanceStatusEnum.APPROVE.getStatus())) + .eq(QuitRunningDevice::getState, DataStateEnum.ENABLE.getCode()); + //更新的时候,需排除当前记录 + if (isExcludeSelf) { + if (quitRunningDeviceParam instanceof QuitRunningDeviceParam.QuitRunningDeviceUpdateParam) { + quitRunningDeviceLambdaQueryWrapper.ne(QuitRunningDevice::getId, ((QuitRunningDeviceParam.QuitRunningDeviceUpdateParam) quitRunningDeviceParam).getId()); + } + } + int deviceCountByAccount = this.count(quitRunningDeviceLambdaQueryWrapper); + //大于等于1个则表示重复 + if (deviceCountByAccount >= 1) { + throw new BusinessException(BpmResponseEnum.QUIT_RUNNING_REPEAT); + } } } 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 94b049002..145dd19b5 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 @@ -9,6 +9,7 @@ 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; @@ -17,6 +18,7 @@ import com.njcn.supervision.enums.FlowStatusEnum; import com.njcn.supervision.enums.UserNatureEnum; import com.njcn.supervision.mapper.user.UserReportPOMapper; import com.njcn.supervision.pojo.param.user.UserReportParam; +import com.njcn.supervision.pojo.po.device.QuitRunningDevice; import com.njcn.supervision.pojo.po.user.UserReportPO; import com.njcn.supervision.pojo.po.user.UserReportProjectPO; import com.njcn.supervision.pojo.po.user.UserReportSensitivePO; @@ -271,6 +273,7 @@ public class UserReportPOServiceImpl extends ServiceImpl userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>(); userReportPOLambdaQueryWrapper .eq(UserReportPO::getProjectName, userReportParam.getProjectName()) + .in(UserReportPO::getStatus,CollectionUtil.newArrayList(BpmProcessInstanceStatusEnum.RUNNING.getStatus(),BpmProcessInstanceStatusEnum.APPROVE.getStatus())) .eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode()); //更新的时候,需排除当前记录 if (isExcludeSelf) {