1.技术监督试运行bug修改

2.审核不通过展示表单信息和审核信息
This commit is contained in:
wr
2024-07-16 09:33:05 +08:00
parent 458b2347ed
commit ee41b0a554
26 changed files with 212 additions and 189 deletions

View File

@@ -5,7 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.Collection;
import java.util.Map;
@Schema(description = "管理后台 - 不通过流程任务的 Request VO")
@Data
@@ -21,4 +22,9 @@ public class BpmTaskRejectParam {
@NotBlank(message = "审批意见不能为空")
private String reason;
@ApiModelProperty("抄送的用户编号数组")
private Collection<String> copyUserIds;
@ApiModelProperty("变量实例(动态表单)")
private Map<String, Object> variables;
}

View File

@@ -4,6 +4,8 @@ import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.dto.PageResult;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstancePageParam;
import com.njcn.bpm.pojo.param.task.BpmTaskRejectParam;
import org.flowable.engine.TaskService;
import org.flowable.engine.delegate.event.FlowableCancelledEvent;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.runtime.ProcessInstance;
@@ -146,6 +148,13 @@ public interface IBpmProcessInstanceService {
*/
void updateProcessInstanceReject(String id, String reason);
/**
* 更新 ProcessInstance 拓展记录为不通过
*
* @param id 流程编号
* @param reason 理由。例如说,审批不通过时,需要传递该值
*/
void updateProcessInstanceFromReject(String id, String reason, TaskService taskService, BpmTaskRejectParam bpmTaskRejectParam);
/**
* 用于测试过程删除流程,正式环境慎用
* @author cdf

View File

@@ -1,6 +1,7 @@
package com.njcn.bpm.service.task.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.StrUtil;
@@ -13,6 +14,7 @@ import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.dto.PageResult;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstancePageParam;
import com.njcn.bpm.pojo.param.task.BpmTaskRejectParam;
import com.njcn.bpm.service.IBpmProcessDefinitionService;
import com.njcn.bpm.service.task.IBpmProcessInstanceService;
import com.njcn.bpm.strategy.BpmTaskCandidateStartUserSelectStrategy;
@@ -30,6 +32,7 @@ import org.flowable.bpmn.model.UserTask;
import org.flowable.common.engine.impl.identity.Authentication;
import org.flowable.engine.HistoryService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.TaskService;
import org.flowable.engine.delegate.event.FlowableCancelledEvent;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.repository.ProcessDefinition;
@@ -72,7 +75,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
@Resource
private IBpmProcessDefinitionService processDefinitionService;
// @Resource
// @Resource
// private BpmMessageService messageService;
//
@Resource
@@ -90,7 +93,6 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
}
@Override
public List<ProcessInstance> getProcessInstances(Set<String> ids) {
return runtimeService.createProcessInstanceQuery().processInstanceIds(ids).list();
@@ -115,7 +117,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
.orderByProcessInstanceStartTime().desc();
if (userId != null) { // 【我的流程】菜单时,需要传递该字段
processInstanceQuery.startedBy(userId);
} else if (bpmProcessInstancePageParam.getStartUserId() != null) { // 【管理流程】菜单时,才会传递该字段
} else if (bpmProcessInstancePageParam.getStartUserId() != null) { // 【管理流程】菜单时,才会传递该字段
processInstanceQuery.startedBy(bpmProcessInstancePageParam.getStartUserId());
}
if (StrUtil.isNotEmpty(bpmProcessInstancePageParam.getName())) {
@@ -144,7 +146,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
}
// 查询列表
int offset = PageFactory.getPageSize(bpmProcessInstancePageParam) * (PageFactory.getPageNum(bpmProcessInstancePageParam) - 1);
List<HistoricProcessInstance> processInstanceList = processInstanceQuery.listPage(offset, PageFactory.getPageSize(bpmProcessInstancePageParam));
List<HistoricProcessInstance> processInstanceList = processInstanceQuery.listPage(offset, PageFactory.getPageSize(bpmProcessInstancePageParam));
return new PageResult<>(processInstanceList, processInstanceCount);
}
@@ -226,7 +228,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
}
@Override
public void cancelProcessInstanceByStartUser(String userId, BpmProcessInstanceCancelParam cancelReqVO) {
public void cancelProcessInstanceByStartUser(String userId, BpmProcessInstanceCancelParam cancelReqVO) {
// 1.1 校验流程实例存在
ProcessInstance instance = getProcessInstance(cancelReqVO.getProcessInstanceId());
if (instance == null) {
@@ -285,9 +287,18 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
@Override
public void updateProcessInstanceWhenApprove(ProcessInstance instance) {
//判断传入参数是否是,不通过信息不通过则需要更新流程信息为不通过
Integer processInstanceStatus = BpmProcessInstanceStatusEnum.APPROVE.getStatus();
Map<String, Object> processVariables = instance.getProcessVariables();
if (processVariables.containsKey(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS)) {
Integer stata =Integer.valueOf(processVariables.get(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS).toString());
if (BpmProcessInstanceStatusEnum.REJECT.getStatus()==stata) {
processInstanceStatus = BpmProcessInstanceStatusEnum.REJECT.getStatus();
}
}
// 1. 更新流程实例 status
runtimeService.setVariable(instance.getId(), BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS,
BpmProcessInstanceStatusEnum.APPROVE.getStatus());
processInstanceStatus);
// 2. 发送流程被【通过】的消息
// messageService.sendMessageWhenProcessInstanceApprove(BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceApproveMessage(instance));
@@ -296,7 +307,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
// 注意:此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance
HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId());
processInstanceEventPublisher.sendProcessInstanceResultEvent(
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, BpmProcessInstanceStatusEnum.APPROVE.getStatus()));
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, processInstanceStatus));
}
@Override
@@ -314,7 +325,31 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
// 4. 发送流程实例的状态事件
processInstanceEventPublisher.sendProcessInstanceResultEvent(
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance,reason ,BpmProcessInstanceStatusEnum.REJECT.getStatus()));
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, reason, BpmProcessInstanceStatusEnum.REJECT.getStatus()));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateProcessInstanceFromReject(String id, String reason, TaskService taskService, BpmTaskRejectParam bpmTaskRejectParam) {
// 1. 更新流程实例 status
runtimeService.setVariable(id, BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, BpmProcessInstanceStatusEnum.REJECT.getStatus());
// 2. 删除流程实例,以实现驳回任务时,取消整个审批流程
ProcessInstance processInstance = getProcessInstance(id);
// 3.3 调用 BPM complete 去完成任务
// 其中variables 是存储动态表单到 local 任务级别。过滤一下,避免 ProcessInstance 系统级的变量被占用
if (CollectionUtil.isNotEmpty(bpmTaskRejectParam.getVariables())) {
Map<String, Object> variables = FlowableUtils.filterTaskFormVariable(bpmTaskRejectParam.getVariables());
taskService.complete(bpmTaskRejectParam.getId(), variables, false);
} else {
taskService.complete(bpmTaskRejectParam.getId());
}
//这是删除所有信息,
// deleteProcessInstance(id, StrUtil.format(BpmDeleteReasonEnum.REJECT_TASK.format(reason)));
// 4. 发送流程实例的状态事件
processInstanceEventPublisher.sendProcessInstanceResultEvent(
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, reason, BpmProcessInstanceStatusEnum.REJECT.getStatus()));
}
public void deleteProcessInstance(String id, String reason) {

View File

@@ -346,7 +346,7 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
BpmCommentTypeEnum.REJECT.formatComment(bpmTaskRejectParam.getReason()));
// 3. 更新流程实例,审批不通过!
processInstanceService.updateProcessInstanceReject(instance.getProcessInstanceId(), bpmTaskRejectParam.getReason());
processInstanceService.updateProcessInstanceFromReject(instance.getProcessInstanceId(), bpmTaskRejectParam.getReason(), taskService, bpmTaskRejectParam);
}
/**

View File

@@ -89,6 +89,9 @@ public class SupervisionTempLineRunTestVO extends BaseEntity{
private String powerSubstationName;
private String reason;
@ApiModelProperty(value = "监测点填报单位")
private String orgId;
/**

View File

@@ -16,6 +16,7 @@ import lombok.EqualsAndHashCode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
*
@@ -174,4 +175,15 @@ public class UserReportVO {
private String userReportId;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class UserReportListVO extends UserReportVO{
@ApiModelProperty(value = "入网评估报告")
private List<String> netInReport;
@ApiModelProperty(value = "治理评估告")
private List<String> governReport;
}
}

View File

@@ -16,7 +16,6 @@ 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;

View File

@@ -8,7 +8,6 @@ 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.SupervisionTempLineReportParam;
import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam;
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO;
import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService;

View File

@@ -9,25 +9,19 @@ 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.QuitRunningDeviceParam;
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO;
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
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.*;
import com.njcn.web.controller.BaseController;
import springfox.documentation.annotations.ApiIgnore;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

View File

@@ -15,7 +15,6 @@ 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;
@@ -41,8 +40,8 @@ public class SupervisionPlanController extends BaseController {
@PostMapping("addPlan")
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@ApiOperation("新增技术监督计划")
@ApiImplicitParam(name = "supvPlanParam",value = "请求体",required = true)
public HttpResult<Object> addPlan(@RequestBody @Validated SupervisionPlanParam supvPlanParam){
@ApiImplicitParam(name = "supvPlanParam", value = "请求体", required = true)
public HttpResult<Object> addPlan(@RequestBody @Validated SupervisionPlanParam supvPlanParam) {
String methodDescribe = getMethodDescribe("addPlan");
String id = supervisionPlanPOService.addPlan(supvPlanParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe);
@@ -52,8 +51,8 @@ public class SupervisionPlanController extends BaseController {
@PostMapping("update")
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@ApiOperation("新增技术监督计划")
@ApiImplicitParam(name = "supvPlanParam",value = "请求体",required = true)
public HttpResult<Object> updatePlan(@RequestBody @Validated SupervisionPlanParam.UpdateSupvPlanParam supvPlanParam){
@ApiImplicitParam(name = "supvPlanParam", value = "请求体", required = true)
public HttpResult<Object> updatePlan(@RequestBody @Validated SupervisionPlanParam.UpdateSupvPlanParam supvPlanParam) {
String methodDescribe = getMethodDescribe("updatePlan");
String id = supervisionPlanPOService.updatePlan(supvPlanParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe);
@@ -63,8 +62,8 @@ public class SupervisionPlanController extends BaseController {
@PostMapping("pagePlan")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("分页查询监督计划")
@ApiImplicitParam(name = "supvPlanParam",value = "请求体",required = true)
public HttpResult<Page<SupervisionPlanVO>> pagePlan(@RequestBody SupervisionPlanParam supvPlanParam){
@ApiImplicitParam(name = "supvPlanParam", value = "请求体", required = true)
public HttpResult<Page<SupervisionPlanVO>> pagePlan(@RequestBody SupervisionPlanParam supvPlanParam) {
String methodDescribe = getMethodDescribe("pagePlan");
Page<SupervisionPlanVO> page = supervisionPlanPOService.pagePlan(supvPlanParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
@@ -87,12 +86,13 @@ public class SupervisionPlanController extends BaseController {
SupervisionPlanVO out = supervisionPlanPOService.getDetailPlan(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
}
@GetMapping("/updateStatus")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("更改表单状态")
public HttpResult<Object> updateStatus(String businessKey,Integer status) {
public HttpResult<Object> updateStatus(String businessKey, Integer status) {
String methodDescribe = getMethodDescribe("updateStatus");
supervisionPlanPOService.updateProcessStatus(businessKey,status);
supervisionPlanPOService.updateProcessStatus(businessKey, status);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@@ -100,7 +100,7 @@ public class SupervisionPlanController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/initiateWarningLeaflet")
@ApiOperation("针对技术监督问题发起告警单")
public HttpResult<Boolean> initiateWarningLeaflet(@RequestParam("id") String id){
public HttpResult<Boolean> initiateWarningLeaflet(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("initiateWarningLeaflet");
supervisionPlanPOService.initiateWarningLeaflet(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, Boolean.TRUE, methodDescribe);

View File

@@ -44,8 +44,8 @@ public class SupervisionProblemController extends BaseController {
@PostMapping("addProblem")
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@ApiOperation("新增技术监督问题")
@ApiImplicitParam(name = "supvProblemParam",value = "请求体",required = true)
public HttpResult<Object> addProblem(@RequestBody @Validated SupervisopnProblemParam supvProblemParam){
@ApiImplicitParam(name = "supvProblemParam", value = "请求体", required = true)
public HttpResult<Object> addProblem(@RequestBody @Validated SupervisopnProblemParam supvProblemParam) {
String methodDescribe = getMethodDescribe("addProblem");
supervisionProblemPOService.addProblem(supvProblemParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
@@ -54,10 +54,10 @@ public class SupervisionProblemController extends BaseController {
@PostMapping("pageProblem")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("分页查询监督问题")
@ApiImplicitParam(name = "supvProblemParam",value = "请求体",required = true)
public HttpResult<Page<SupervisionProblemPO>> pageProblem(@RequestBody SupervisopnProblemParam supvProblemParam){
@ApiImplicitParam(name = "supvProblemParam", value = "请求体", required = true)
public HttpResult<Page<SupervisionProblemPO>> pageProblem(@RequestBody SupervisopnProblemParam supvProblemParam) {
String methodDescribe = getMethodDescribe("pageProblem");
if(StrUtil.isBlank(supvProblemParam.getPlanId())){
if (StrUtil.isBlank(supvProblemParam.getPlanId())) {
throw new BusinessException("监督计划索引不可为空");
}
Page<SupervisionProblemPO> page = supervisionProblemPOService.pageProblem(supvProblemParam);
@@ -65,7 +65,4 @@ public class SupervisionProblemController extends BaseController {
}
}

View File

@@ -10,13 +10,11 @@ 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.survey.SurveyPlanParam;
import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO;
import com.njcn.supervision.pojo.vo.survey.SurveyPlanVO;
import com.njcn.supervision.service.survey.ISurveyPlanService;
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;

View File

@@ -96,9 +96,9 @@ public class UserReportManageController extends BaseController {
@GetMapping("/getById")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("根据id获取用户档案录入的详细数据")
public HttpResult<UserReportVO> getById(String id) {
public HttpResult<UserReportVO.UserReportListVO> getById(String id) {
String methodDescribe = getMethodDescribe("getById");
UserReportVO userReportVO = userReportPOService.getVOById(id);
UserReportVO.UserReportListVO userReportVO = userReportPOService.getVOById(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportVO, methodDescribe);
}
@@ -183,7 +183,7 @@ public class UserReportManageController extends BaseController {
@PostMapping(value = "/importSensitiveReportData")
@ApiOperation("批量导入干扰源用户")
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
public HttpResult<String> importSensitiveReportData(@ApiParam(value = "文件", required = true) @RequestPart("file") MultipartFile file, HttpServletResponse response) {
public HttpResult<String> importSensitiveReportData(@ApiParam(value = "文件", required = true) @RequestPart("file") MultipartFile file, HttpServletResponse response) {
String methodDescribe = getMethodDescribe("importSensitiveReportData");
userReportPOService.importSensitiveReportData(file, response);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);

View File

@@ -10,7 +10,6 @@ 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.user.UserReportNormalParam;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.vo.user.UserReportVO;
import com.njcn.supervision.service.user.IUserReportNormalService;
import com.njcn.web.controller.BaseController;

View File

@@ -1,7 +1,6 @@
package com.njcn.supervision.controller.user;
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;

View File

@@ -11,6 +11,7 @@
supervision_temp_line_report.Power_Substation_Name,
supervision_temp_line_report.line_id lineId,
supervision_temp_line_report.line_name lineName,
supervision_temp_line_report.org_id orgId,
supervision_temp_line_debug.reason reason,
supervision_temp_line_run_test.process_instance_id process_instanceId,
supervision_temp_line_run_test.history_instance_id historyInstanceId,

View File

@@ -5,7 +5,6 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.StrUtil;
@@ -18,7 +17,6 @@ import com.njcn.bpm.enums.BpmTaskStatusEnum;
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.bpm.utils.DateUtils;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
@@ -39,7 +37,6 @@ import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
import com.njcn.supervision.pojo.po.device.TempLineRunTestWarning;
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
import com.njcn.supervision.pojo.po.user.UserReportNormalPO;
import com.njcn.supervision.pojo.po.user.UserReportProjectPO;
import com.njcn.supervision.pojo.po.user.UserReportSensitivePO;
@@ -48,7 +45,6 @@ import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO;
import com.njcn.supervision.pojo.vo.device.TempLineRunTestWarningVO;
import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService;
import com.njcn.supervision.service.device.TempLineRunTestWarningService;
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
import com.njcn.supervision.service.user.*;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.web.utils.RequestUtil;
@@ -185,38 +181,38 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
//1.先判断是否发送告警单,没有则不允许重新发送
List<TempLineRunTestWarningVO> tempLineRunTestWarningVOS = this.baseMapper.selectResults(supervisionTempLineRunTestParam.getId());
long count = tempLineRunTestWarningVOS.stream().filter(x -> StrUtil.isBlank(x.getWarningId())).count();
if (count>0) {
if (count > 0) {
throw new BusinessException(CommonResponseEnum.FAIL, "请先发送告警单信息!");
}
//2.判断告警单,是否有未审核通过则不允许重新发送
if(CollUtil.isNotEmpty(tempLineRunTestWarningVOS)){
if (CollUtil.isNotEmpty(tempLineRunTestWarningVOS)) {
Integer status = tempLineRunTestWarningVOS.get(0).getStatus();
if(!status.equals(FlowStatusEnum.APPROVE.getCode())){
if (!status.equals(FlowStatusEnum.APPROVE.getCode())) {
throw new BusinessException(CommonResponseEnum.FAIL, "请处理告警单信息,处理审核通过才可重新发送!");
}
String startTime = DateUtil.format(DateUtil.offsetDay(DateUtil.date(), 1), DatePattern.NORM_DATE_PATTERN);
String endTime = DateUtil.format(DateUtil.offsetDay(DateUtil.date(), 3), DatePattern.NORM_DATE_PATTERN);
String endTime = DateUtil.format(DateUtil.offsetDay(DateUtil.date(), 3), DatePattern.NORM_DATE_PATTERN);
supervisionTempLineRunTestPO.setTestRunTime(startTime + "--" + endTime);
}
supervisionTempLineRunTestPO.setStatus(1);
supervisionTempLineRunTestPO.setStatus(9);
supervisionTempLineRunTestPO.setTestRunReport("");
supervisionTempLineRunTestPO.setState(DataStateEnum.ENABLE.getCode());
supervisionTempLineRunTestPO.setTestRunState(DataStateEnum.ENABLE.getCode());
//处理历史流程id列表
String historyInstanceIds = InstanceUtil.dealHistoryId(supervisionTempLineRunTestPO.getProcessInstanceId(), supervisionTempLineRunTestPO.getHistoryInstanceId());
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.LINE_RUN_TEST.getKey());
bpmProcessInstanceCreateReqDTO.setBusinessKey(supervisionTempLineRunTestPO.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(new HashMap<>());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineRunTestPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中
supervisionTempLineRunTestPO.setProcessInstanceId(processInstanceId);
//保存历史流程id列表
supervisionTempLineRunTestPO.setHistoryInstanceId(historyInstanceIds);
// //处理历史流程id列表
// String historyInstanceIds = InstanceUtil.dealHistoryId(supervisionTempLineRunTestPO.getProcessInstanceId(), supervisionTempLineRunTestPO.getHistoryInstanceId());
// // 发起 BPM 流程
// Map<String, Object> processInstanceVariables = new HashMap<>();
// BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
// bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.LINE_RUN_TEST.getKey());
// bpmProcessInstanceCreateReqDTO.setBusinessKey(supervisionTempLineRunTestPO.getId());
// bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(new HashMap<>());
// bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
// String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineRunTestPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
// // 将工作流的编号,更新到流程单中
// supervisionTempLineRunTestPO.setProcessInstanceId(processInstanceId);
// //保存历史流程id列表
// supervisionTempLineRunTestPO.setHistoryInstanceId(historyInstanceIds);
this.baseMapper.updateById(supervisionTempLineRunTestPO);
return supervisionTempLineRunTestPO.getId();
}
@@ -226,7 +222,8 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
public void isTestRunStartOrEnd(HttpServletResponse response) {
LocalDateTime time = LocalDateTime.now();
LambdaQueryWrapper<SupervisionTempLineRunTestPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SupervisionTempLineRunTestPO::getTestRunState, 1).eq(SupervisionTempLineRunTestPO::getState, DataStateEnum.ENABLE.getCode());
lambdaQueryWrapper.eq(SupervisionTempLineRunTestPO::getTestRunState, 1)
.eq(SupervisionTempLineRunTestPO::getState, DataStateEnum.ENABLE.getCode());
List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList = this.list(lambdaQueryWrapper);
List<SupervisionTempLineRunTestPO> usePoList = new ArrayList<>();
for (SupervisionTempLineRunTestPO item : supervisionTempLineRunTestPOList) {
@@ -237,7 +234,6 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
usePoList.add(item);
}
}
if (CollUtil.isNotEmpty(usePoList)) {
List<String> lineRunTestIds = usePoList.stream().map(SupervisionTempLineRunTestPO::getId).collect(Collectors.toList());
List<SupervisionTempLineReport> supervisionTempLineReports = supervisionTempLineReportMapper.selectBatchIds(lineRunTestIds);
@@ -246,24 +242,27 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
map.forEach((key, val) -> {
String startTime = key.split("--")[0];
String endTime = key.split("--")[1];
List<String> ids = val.stream().map(SupervisionTempLineRunTestPO::getId).collect(Collectors.toList());
List<String> ids = val.stream().map(SupervisionTempLineRunTestPO::getId).collect(Collectors.toList());
LineDataQualityParam lineDataQualityParam = LineDataQualityParam.builder().lineIds(ids).beginTime(startTime).endTime(endTime).build();
List<LineDataQualityDTO> lineDataQualityDTOList = lineIntegrityClient.getLineDataQuality(lineDataQualityParam).getData();
Map<String, LineDataQualityDTO> qualityDTOMap = lineDataQualityDTOList.stream().collect(Collectors.toMap(LineDataQualityDTO::getLineId, Function.identity()));
for (SupervisionTempLineRunTestPO supervisionTempLineRunTestPO : val) {
// 将工作流的编号,更新到流程单中
SupervisionTempLineRunTestPO po = new SupervisionTempLineRunTestPO();
if(supervisionTempLineRunTestPO.getStatus()!=1&&StrUtil.isBlank(supervisionTempLineRunTestPO.getProcessInstanceId())){
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.LINE_RUN_TEST.getKey());
bpmProcessInstanceCreateReqDTO.setBusinessKey(supervisionTempLineRunTestPO.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(new HashMap<>());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineRunTestPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
po.setProcessInstanceId(processInstanceId);
if (StrUtil.isNotBlank(supervisionTempLineRunTestPO.getProcessInstanceId())) {
String historyInstanceIds = InstanceUtil.dealHistoryId(supervisionTempLineRunTestPO.getProcessInstanceId(),
supervisionTempLineRunTestPO.getHistoryInstanceId());
po.setHistoryInstanceId(historyInstanceIds);
}
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.LINE_RUN_TEST.getKey());
bpmProcessInstanceCreateReqDTO.setBusinessKey(supervisionTempLineRunTestPO.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(new HashMap<>());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(supervisionTempLineRunTestPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
po.setProcessInstanceId(processInstanceId);
po.setId(supervisionTempLineRunTestPO.getId());
po.setStatus(1);
po.setTestRunState(2);
@@ -273,11 +272,11 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
po.setIntegrityRate(dto.getIntegrityRate());
po.setSuitRate(dto.getSuitRate());
MockMultipartFile file;
if(lineReportMap.containsKey(supervisionTempLineRunTestPO.getId())){
if (lineReportMap.containsKey(supervisionTempLineRunTestPO.getId())) {
String url = lineReportMap.get(supervisionTempLineRunTestPO.getId());
InputStream fileStream = fileStorageUtil.getFileStream(url.substring(url.indexOf("/")));
try {
file = new MockMultipartFile("file",url.substring(url.lastIndexOf("/")+1), MediaType.IMAGE_PNG_VALUE, fileStream);
file = new MockMultipartFile("file", url.substring(url.lastIndexOf("/") + 1), MediaType.IMAGE_PNG_VALUE, fileStream);
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
@@ -289,8 +288,8 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
e.printStackTrace();
}
}
}else{
file= new MockMultipartFile("file", new byte[0]);
} else {
file = new MockMultipartFile("file", new byte[0]);
}
try {
startTime = DateUtil.beginOfDay(DateUtil.parse(startTime)).toString();
@@ -321,7 +320,7 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
@Override
@Transactional(rollbackFor = Exception.class)
public void updateProcessStatus(String businessKey,String reason, Integer status) {
public void updateProcessStatus(String businessKey, String reason, Integer status) {
SupervisionTempLineRunTestPO supervisionTempLineRunTestPO = this.baseMapper.selectById(businessKey);
//如果状态为审批通过
if (status.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus())) {
@@ -371,6 +370,7 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
//取消流程
bpmProcessFeignClient.cancelProcessInstanceByStartUser(cancelReqVO);
//更新状态
supervisionTempLineRunTestPO.setTestRunState(0);
supervisionTempLineRunTestPO.setStatus(BpmProcessInstanceStatusEnum.CANCEL.getStatus());
this.updateById(supervisionTempLineRunTestPO);
return supervisionTempLineRunTestPO.getId();

View File

@@ -1,72 +1,32 @@
package com.njcn.supervision.service.leaflet.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.bpm.api.BpmProcessFeignClient;
import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum;
import com.njcn.bpm.enums.BpmTaskStatusEnum;
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.supervision.enums.FlowStatusEnum;
import com.njcn.supervision.enums.LeafletTypeEnum;
import com.njcn.supervision.enums.ProblemTypeEnum;
import com.njcn.supervision.enums.SupervisionKeyEnum;
import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper;
import com.njcn.supervision.mapper.leaflet.WarningLeafletMapper;
import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam;
import com.njcn.supervision.pojo.param.leaflet.WarningAddParam;
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
import com.njcn.supervision.pojo.po.problem.SupervisionUserComplaintPO;
import com.njcn.supervision.pojo.po.survey.SurveyTest;
import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO;
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO;
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO;
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService;
import com.njcn.supervision.service.device.SupervisionTempLineDebugPOService;
import com.njcn.supervision.service.leaflet.ILineRunTestProblemService;
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
import com.njcn.supervision.service.survey.ISurveyTestService;
import com.njcn.supervision.service.survey.SupervisionGeneralSurveyPlanPOService;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.api.UserFeignClient;
import com.njcn.user.pojo.po.Dept;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Description: 试运行评估问题 服务实现类
@@ -107,7 +67,7 @@ public class LineRunTestProblemServiceImpl implements ILineRunTestProblemService
@Override
public void initiateWarningLeaflet(WarningAddParam.Extend warningAddParam) {
SupervisionTempLineRunTestVO runTestById = lineRunTestService.getRunTestById(warningAddParam.getId());
if(ObjectUtil.isNull(runTestById)){
if (ObjectUtil.isNull(runTestById)) {
throw new BusinessException(CommonResponseEnum.FAIL, "无法查询到该信息,请检查信息是否存在!");
}
//组装告警单
@@ -122,7 +82,7 @@ public class LineRunTestProblemServiceImpl implements ILineRunTestProblemService
* */
warningLeafletService.createLeaflet(
complainteDetail,
RequestUtil.getDeptIndex(),
runTestById.getOrgId(),
IdWorker.get32UUID(),
warningAddParam.getProblemId(),
ProblemTypeEnum.SITE_TEST.getCode(),
@@ -132,6 +92,7 @@ public class LineRunTestProblemServiceImpl implements ILineRunTestProblemService
null
);
}
private String assembleWarningDetail(SupervisionTempLineRunTestVO byId) {
String issueDetail = byId.getPowerSubstationName()
.concat("_")
@@ -140,8 +101,7 @@ public class LineRunTestProblemServiceImpl implements ILineRunTestProblemService
.concat(byId.getConnectedBus())
.concat("_")
.concat(byId.getLineName())
.concat("试运行评估问题")
;
.concat("试运行评估问题");
return issueDetail;
}
}

View File

@@ -25,12 +25,9 @@ import com.njcn.supervision.enums.ProblemTypeEnum;
import com.njcn.supervision.enums.SupervisionKeyEnum;
import com.njcn.supervision.mapper.leaflet.WarningLeafletMapper;
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
import com.njcn.supervision.pojo.po.device.TempLineRunTestWarning;
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
import com.njcn.supervision.pojo.po.survey.SurveyTest;
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService;
import com.njcn.supervision.service.device.TempLineRunTestWarningService;
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
import com.njcn.supervision.service.survey.ISurveyTestService;

View File

@@ -4,18 +4,18 @@ 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<SupervisionProblemPO>{
public interface SupervisionProblemPOService extends IService<SupervisionProblemPO> {
void addProblem(SupervisopnProblemParam supvProblemParam);
void addProblem(SupervisopnProblemParam supvProblemParam);
Page<SupervisionProblemPO> pageProblem(SupervisopnProblemParam supvProblemParam);
}
Page<SupervisionProblemPO> pageProblem(SupervisopnProblemParam supvProblemParam);
}

View File

@@ -8,7 +8,6 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.bpm.api.BpmProcessFeignClient;
@@ -20,8 +19,6 @@ import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
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.enums.LeafletTypeEnum;
import com.njcn.supervision.enums.ProblemTypeEnum;
import com.njcn.supervision.enums.SupervisionKeyEnum;
import com.njcn.supervision.mapper.plan.SupervisionPlanPOMapper;
import com.njcn.supervision.pojo.param.plan.SupervisionPlanParam;

View File

@@ -32,7 +32,6 @@ import java.util.function.Function;
import java.util.stream.Collectors;
/**
*
* Description:
* Date: 2024/5/20 19:50【需求编号】
*
@@ -41,21 +40,22 @@ import java.util.stream.Collectors;
*/
@Service
@RequiredArgsConstructor
public class SupervisionProblemPOServiceImpl extends ServiceImpl<SupervisionProblemPOMapper, SupervisionProblemPO> implements SupervisionProblemPOService{
public class SupervisionProblemPOServiceImpl extends ServiceImpl<SupervisionProblemPOMapper, SupervisionProblemPO> implements SupervisionProblemPOService {
private final SupervisionPlanPOMapper supervisionPlanPOMapper;
private final DicDataFeignClient dicDataFeignClient;
private final DeptFeignClient deptFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
public void addProblem(SupervisopnProblemParam supvProblemParam) {
checkParam(supvProblemParam.getPlanId(),supvProblemParam.getDiscoveryTime());
checkParam(supvProblemParam.getPlanId(), supvProblemParam.getDiscoveryTime());
SupervisionProblemPO supvProblem = new SupervisionProblemPO();
BeanUtil.copyProperties(supvProblemParam, supvProblem);
supvProblem.setPlanRectificationTime(LocalDateTimeUtil.parse(supvProblemParam.getPlanRectificationTime(), DatePattern.NORM_DATETIME_PATTERN));
if(StrUtil.isNotBlank(supvProblemParam.getRectificationTime())) {
if (StrUtil.isNotBlank(supvProblemParam.getRectificationTime())) {
supvProblem.setRectificationTime(LocalDateTimeUtil.parse(supvProblemParam.getRectificationTime(), DatePattern.NORM_DATETIME_PATTERN));
}
this.save(supvProblem);
@@ -94,12 +94,12 @@ public class SupervisionProblemPOServiceImpl extends ServiceImpl<SupervisionProb
}
//判断是否存在时间范围内
public void checkParam(String id,String time) {
if(StrUtil.isNotBlank(time)){
public void checkParam(String id, String time) {
if (StrUtil.isNotBlank(time)) {
SupervisionPlanPO supvPlan = supervisionPlanPOMapper.selectById(id);
if(ObjectUtil.isNotNull(supvPlan)){
if (ObjectUtil.isNotNull(supvPlan)) {
//判断时间范围
if (ObjectUtil.isAllNotEmpty(supvPlan.getEffectStartTime(), supvPlan.getEffectEndTime())||
if (ObjectUtil.isAllNotEmpty(supvPlan.getEffectStartTime(), supvPlan.getEffectEndTime()) ||
ObjectUtil.isAllNotEmpty(supvPlan.getEffectStartTime(), supvPlan.getReportIssueTime())
) {
//实施开始时间
@@ -107,14 +107,14 @@ public class SupervisionProblemPOServiceImpl extends ServiceImpl<SupervisionProb
//问题发现时间
DateTime problemOcTime = DateUtil.parse(time, "yyyy-MM-dd HH:mm:ss");
Boolean fly = false;
if(ObjectUtil.isNotNull(supvPlan.getEffectEndTime())){
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())){
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)) {

View File

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.bpm.service.IBpmService;
import com.njcn.supervision.pojo.param.user.UserReportNormalParam;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.user.UserReportNormalPO;
import com.njcn.supervision.pojo.vo.user.UserReportVO;

View File

@@ -31,7 +31,7 @@ public interface UserReportPOService extends IBpmService<UserReportPO> {
Boolean removeUserReport(List<String> ids);
UserReportVO getVOById(String id);
UserReportVO.UserReportListVO getVOById(String id);
List<UserReportVO> getUserReportList();

View File

@@ -14,6 +14,7 @@ import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.supervision.enums.SupervisionKeyEnum;
import com.njcn.supervision.mapper.user.UserReportNormalMapper;
import com.njcn.supervision.pojo.param.user.UserReportNormalParam;
@@ -23,7 +24,6 @@ import com.njcn.supervision.pojo.vo.user.UserReportVO;
import com.njcn.supervision.service.user.IUserReportNormalService;
import com.njcn.supervision.service.user.UserReportPOService;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.api.UserFeignClient;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.RequestUtil;
@@ -50,39 +50,54 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
private final BpmProcessFeignClient bpmProcessFeignClient;
private final UserReportPOService userReportPOService;
private final DeptFeignClient deptFeignClient;
private final UserFeignClient userFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
public String addUserNormal(UserReportNormalParam userReportNormalParam) {
//添加治理评估文件,需先判断入网评估是否审核通过
if (1 == userReportNormalParam.getType()) {
List<UserReportNormalPO> list = this.list(new LambdaQueryWrapper<UserReportNormalPO>()
.eq(UserReportNormalPO::getUserReportId, userReportNormalParam.getUserReportId())
.eq(UserReportNormalPO::getState, DataStateEnum.ENABLE.getCode())
.ne(UserReportNormalPO::getStatus, BpmTaskStatusEnum.CANCEL.getStatus())
.eq(UserReportNormalPO::getType, 0)
.orderByDesc(UserReportNormalPO::getCreateTime)
);
if(CollUtil.isNotEmpty(list)){
List<String> collect = list.stream().filter(x -> Objects.equals(x.getStatus(), BpmTaskStatusEnum.APPROVE.getStatus()))
.map(UserReportNormalPO::getId)
.collect(Collectors.toList());
if(CollUtil.isNotEmpty(collect)){
throw new BusinessException("入网方案申请未都通过!");
}
}else{
throw new BusinessException("请先进行入网方案申请!");
}
}
UserReportNormalPO userReportNormalPO = new UserReportNormalPO();
BeanUtil.copyProperties(userReportNormalParam, userReportNormalPO);
userReportNormalPO.setState(DataStateEnum.ENABLE.getCode());
if(Objects.equals(userReportNormalParam.getSaveOrCheckflag(),"1")){
if (Objects.equals(userReportNormalParam.getSaveOrCheckflag(), "1")) {
userReportNormalPO.setStatus(BpmTaskStatusEnum.WAIT.getStatus());
}else {
} else {
userReportNormalPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
}
this.saveOrUpdate(userReportNormalPO);
userReportNormalPO =this.getById(userReportNormalPO.getId());
if(Objects.equals(userReportNormalParam.getSaveOrCheckflag(),"2")){
userReportNormalPO = this.getById(userReportNormalPO.getId());
if (Objects.equals(userReportNormalParam.getSaveOrCheckflag(), "2")) {
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
if(userReportNormalParam.getType() == 0){
if (0 == userReportNormalParam.getType()) {
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_GO_NET.getKey());
}else {
} else {
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_TREAT_CHECK.getKey());
}
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportNormalPO.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportNormalParam.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
@@ -99,7 +114,7 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
public String updateUserNormal(UserReportNormalParam userReportParam) {
UserReportNormalPO userReportNormalPO = this.baseMapper.selectById(userReportParam.getId());
//判断是否有权限操作
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(),userReportNormalPO.getCreateBy());
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(), userReportNormalPO.getCreateBy());
//处理历史流程id列表
String historyInstanceIds = InstanceUtil.dealHistoryId(userReportNormalPO.getProcessInstanceId(), userReportNormalPO.getHistoryInstanceId());
BeanUtils.copyProperties(userReportParam, userReportNormalPO);
@@ -108,9 +123,9 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
if(userReportNormalPO.getType() == 0){
if (userReportNormalPO.getType() == 0) {
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_GO_NET.getKey());
}else {
} else {
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_TREAT_CHECK.getKey());
}
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportNormalPO.getId());
@@ -131,15 +146,15 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
List<String> colleaguesIds = userFeignClient.getColleaguesIdByUserId(RequestUtil.getUserIndex()).getData();
if(CollUtil.isEmpty(colleaguesIds)){
if (CollUtil.isEmpty(colleaguesIds)) {
return pageResult;
}
LambdaQueryWrapper<UserReportNormalPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.orderByDesc(UserReportNormalPO::getCreateTime)
.eq(UserReportNormalPO::getType,userReportNormalParam.getType())
.eq(UserReportNormalPO::getType, userReportNormalParam.getType())
.in(UserReportNormalPO::getCreateBy, colleaguesIds)
.eq(UserReportNormalPO::getUserReportId,userReportNormalParam.getUserReportId()).eq(Objects.nonNull(userReportNormalParam.getStatus()),UserReportNormalPO::getStatus,userReportNormalParam.getStatus());
.eq(UserReportNormalPO::getUserReportId, userReportNormalParam.getUserReportId()).eq(Objects.nonNull(userReportNormalParam.getStatus()), UserReportNormalPO::getStatus, userReportNormalParam.getStatus());
Page<UserReportNormalPO> page = this.page(new Page<>(PageFactory.getPageNum(userReportNormalParam), PageFactory.getPageSize(userReportNormalParam)), lambdaQueryWrapper);
if (CollUtil.isNotEmpty(page.getRecords())) {
@@ -151,7 +166,7 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
page.getRecords().forEach(item -> {
UserReportVO.UserReportGoNetVO vo = new UserReportVO.UserReportGoNetVO();
UserReportPO userReportPO = map.get(item.getUserReportId());
BeanUtil.copyProperties(userReportPO,vo);
BeanUtil.copyProperties(userReportPO, vo);
vo.setId(item.getId());
vo.setUserReportId(item.getUserReportId());
vo.setOtherReport(item.getReportUrl());
@@ -161,7 +176,7 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
vo.setReporter(item.getCreateBy());
temList.add(vo);
});
BeanUtil.copyProperties(page,pageResult);
BeanUtil.copyProperties(page, pageResult);
pageResult.setRecords(temList);
}
return pageResult;
@@ -170,11 +185,11 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
@Override
public UserReportVO.UserReportGoNetVO userReportGoNetById(String id) {
UserReportNormalPO userReportNormalPO = this.getById(id);
if(Objects.nonNull(userReportNormalPO)){
if (Objects.nonNull(userReportNormalPO)) {
UserReportPO userReportPO = userReportPOService.getById(userReportNormalPO.getUserReportId());
UserReportVO.UserReportGoNetVO vo = new UserReportVO.UserReportGoNetVO();
BeanUtil.copyProperties(userReportPO,vo);
BeanUtil.copyProperties(userReportNormalPO,vo);
BeanUtil.copyProperties(userReportPO, vo);
BeanUtil.copyProperties(userReportNormalPO, vo);
vo.setOtherReport(userReportNormalPO.getReportUrl());
return vo;
}
@@ -183,14 +198,14 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
@Override
public void updateProcessStatus(String businessKey, Integer status) {
this.update(new UpdateWrapper<UserReportNormalPO>().lambda().set(UserReportNormalPO::getStatus,status).eq(UserReportNormalPO::getId,businessKey));
this.update(new UpdateWrapper<UserReportNormalPO>().lambda().set(UserReportNormalPO::getStatus, status).eq(UserReportNormalPO::getId, businessKey));
}
@Override
public BpmInstanceInfo getInstanceInfo(String businessId) {
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo();
UserReportVO.UserReportGoNetVO userReportGoNet = this.userReportGoNetById(businessId);
if(Objects.nonNull(userReportGoNet)){
if (Objects.nonNull(userReportGoNet)) {
bpmInstanceInfo.setHistoryInstanceId(userReportGoNet.getHistoryInstanceId());
bpmInstanceInfo.setInstanceSign(userReportGoNet.getProjectName());
}
@@ -202,7 +217,7 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
//准备取消该流程,需要远程调用接口
UserReportNormalPO userReportNormalPO = this.baseMapper.selectById(cancelReqVO.getId());
//判断是否有权限操作
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(),userReportNormalPO.getCreateBy());
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(), userReportNormalPO.getCreateBy());
//取消流程
bpmProcessFeignClient.cancelProcessInstanceByStartUser(cancelReqVO);
//更新状态

View File

@@ -33,20 +33,15 @@ import com.njcn.supervision.enums.SupervisionKeyEnum;
import com.njcn.supervision.enums.SupervisionResponseEnum;
import com.njcn.supervision.enums.UserNatureEnum;
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
import com.njcn.supervision.mapper.user.UserReportNormalMapper;
import com.njcn.supervision.mapper.user.UserReportPOMapper;
import com.njcn.supervision.pojo.dto.SensitiveReportExcel;
import com.njcn.supervision.pojo.dto.SensitiveUserSExcel;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
import com.njcn.supervision.pojo.po.user.UserReportPO;
import com.njcn.supervision.pojo.po.user.UserReportProjectPO;
import com.njcn.supervision.pojo.po.user.UserReportSensitivePO;
import com.njcn.supervision.pojo.po.user.UserReportSubstationPO;
import com.njcn.supervision.pojo.po.user.*;
import com.njcn.supervision.pojo.vo.user.UserReportVO;
import com.njcn.supervision.service.user.UserReportPOService;
import com.njcn.supervision.service.user.UserReportProjectPOService;
import com.njcn.supervision.service.user.UserReportSensitivePOService;
import com.njcn.supervision.service.user.UserReportSubstationPOService;
import com.njcn.supervision.service.user.*;
import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.DictTreeFeignClient;
@@ -95,6 +90,7 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
private final LineFeignClient lineFeignClient;
private final DicDataFeignClient dicDataFeignClient;
private final DictTreeFeignClient dictTreeFeignClient;
private final UserReportNormalMapper userReportNormalMapper;
@Override
@@ -320,8 +316,8 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
}
@Override
public UserReportVO getVOById(String id) {
UserReportVO userReportVO = new UserReportVO();
public UserReportVO.UserReportListVO getVOById(String id) {
UserReportVO.UserReportListVO userReportVO = new UserReportVO.UserReportListVO();
UserReportPO userReportPO = this.baseMapper.selectById(id);
//复制基础信息
BeanUtil.copyProperties(userReportPO, userReportVO);
@@ -359,6 +355,14 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
UserReportSensitivePO byId = userReportSensitivePOService.getById(id);
userReportVO.setUserReportSensitivePO(byId);
}
List<UserReportNormalPO> list = userReportNormalMapper.selectList(new LambdaQueryWrapper<UserReportNormalPO>()
.eq(UserReportNormalPO::getUserReportId, id)
.eq(UserReportNormalPO::getStatus, BpmTaskStatusEnum.APPROVE.getStatus())
.eq(UserReportNormalPO::getState, DataStateEnum.ENABLE.getCode())
.orderByDesc(UserReportNormalPO::getCreateTime)
);
userReportVO.setNetInReport(list.stream().filter(x -> 0==x.getType()).map(UserReportNormalPO::getReportUrl).collect(Collectors.toList()));
userReportVO.setGovernReport(list.stream().filter(x -> 1==x.getType()).map(UserReportNormalPO::getReportUrl).collect(Collectors.toList()));
return userReportVO;
}