fix:交付物审批改造
This commit is contained in:
@@ -6,9 +6,11 @@ import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.KnowledgeCallBackReq;
|
||||
import com.sdm.common.entity.req.data.QueryDirReq;
|
||||
import com.sdm.common.entity.req.data.UploadFilesReq;
|
||||
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.entity.resp.data.BatchAddFileInfoResp;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
import com.sdm.common.feign.inter.project.ISimulationRunFeignClient;
|
||||
import com.sdm.project.model.entity.SimulationRun;
|
||||
import com.sdm.project.model.entity.SimulationRunKeyResult;
|
||||
import com.sdm.project.model.req.*;
|
||||
@@ -32,7 +34,7 @@ import java.util.List;
|
||||
@RestController
|
||||
@RequestMapping(value = "/run")
|
||||
@Tag(name = "仿真任务策划管理", description = "仿真任务策划管理管理相关接口")
|
||||
public class SimulationRunController {
|
||||
public class SimulationRunController implements ISimulationRunFeignClient {
|
||||
|
||||
@Resource
|
||||
private ISimulationRunService runService;
|
||||
@@ -138,6 +140,26 @@ public class SimulationRunController {
|
||||
return runService.batchAddSimulationKeyResult(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交交付物审批
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/deliverableApprove")
|
||||
public SdmResponse deliverableApprove(@RequestBody DeliverableApproveReq req) {
|
||||
return runService.deliverableApprove(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 交付物审批回调
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/deliverableApproveCallback")
|
||||
public SdmResponse deliverableApproveCallback(@RequestBody LaunchApproveReq req) {
|
||||
return runService.deliverableApproveCallback(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 算例关键结果查询
|
||||
*
|
||||
@@ -154,7 +176,7 @@ public class SimulationRunController {
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/queryKeyResultAndTaskInfo")
|
||||
public SdmResponse<KeyResultAndTaskInfoResp> queryKeyResultAndTaskInfo(@RequestBody KeyResultReq req) {
|
||||
public SdmResponse<PageDataResp<List<KeyResultAndTaskInfoResp>>> queryKeyResultAndTaskInfo(@RequestBody KeyResultReq req) {
|
||||
return runService.queryKeyResultAndTaskInfo(req);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.sdm.project.model.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/* 交付物审批流程,传递给电子流平台内容变化的数据 */
|
||||
@Data
|
||||
public class ApprovalDeliverableContentsModel {
|
||||
/**
|
||||
* 任务uuid
|
||||
*/
|
||||
private String taskId;
|
||||
/**
|
||||
* 难度系数
|
||||
*/
|
||||
private Float difficult;
|
||||
|
||||
}
|
||||
@@ -195,5 +195,8 @@ public class SimulationTask implements Serializable {
|
||||
@TableField("tag10")
|
||||
private String tag10;
|
||||
|
||||
@TableField("cidFlowId")
|
||||
private String cidFlowId;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.sdm.project.model.req;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeliverableApproveReq {
|
||||
|
||||
@Schema(description = "任务uuid")
|
||||
private String taskId;
|
||||
|
||||
@Schema(description = "难度系数")
|
||||
private Float difficult;
|
||||
|
||||
@Schema(description = "交付物审批模板id")
|
||||
private String templateId;
|
||||
|
||||
@Schema(description = "交付物审批模板名称")
|
||||
private String templateName;
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.sdm.project.model.resp;
|
||||
|
||||
import com.sdm.common.entity.resp.data.SimulationTaskResultCurveResp;
|
||||
import com.sdm.project.model.entity.SimulationTask;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
@@ -52,4 +53,7 @@ public class KeyResultAndTaskInfoResp {
|
||||
@Schema(description = "任务信息")
|
||||
private SimulationTask simulationTask;
|
||||
|
||||
@Schema(description = "文件信息")
|
||||
private SimulationTaskResultCurveResp fileInfo;
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.KnowledgeCallBackReq;
|
||||
import com.sdm.common.entity.req.data.QueryDirReq;
|
||||
import com.sdm.common.entity.req.data.UploadFilesReq;
|
||||
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.entity.resp.data.BatchAddFileInfoResp;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
@@ -51,9 +52,13 @@ public interface ISimulationRunService extends IService<SimulationRun> {
|
||||
|
||||
SdmResponse<List<BatchAddFileInfoResp>> batchAddSimulationKeyResult(KeyResultReq req);
|
||||
|
||||
SdmResponse deliverableApprove(DeliverableApproveReq req);
|
||||
|
||||
SdmResponse deliverableApproveCallback(LaunchApproveReq req);
|
||||
|
||||
SdmResponse<PageDataResp<List<SimulationRunKeyResult>>> listSimulationKeyResult(KeyResultReq req);
|
||||
|
||||
SdmResponse<KeyResultAndTaskInfoResp> queryKeyResultAndTaskInfo(KeyResultReq req);
|
||||
SdmResponse<PageDataResp<List<KeyResultAndTaskInfoResp>>> queryKeyResultAndTaskInfo(KeyResultReq req);
|
||||
|
||||
SdmResponse deleteSimulationKeyResult(KeyResultReq req);
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.constants.NumberConstants;
|
||||
import com.sdm.common.entity.enums.ApproveTypeEnum;
|
||||
import com.sdm.common.entity.enums.DirTypeEnum;
|
||||
import com.sdm.common.entity.enums.NodeTypeEnum;
|
||||
import com.sdm.common.entity.flowable.dto.FlowElementDTO;
|
||||
@@ -17,17 +19,21 @@ import com.sdm.common.entity.flowable.dto.NodeStructureInfo;
|
||||
import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO;
|
||||
import com.sdm.common.entity.req.capability.FlowNodeDto;
|
||||
import com.sdm.common.entity.req.data.*;
|
||||
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
||||
import com.sdm.common.entity.req.system.UserQueryReq;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.entity.resp.capability.FlowTemplateResp;
|
||||
import com.sdm.common.entity.resp.data.BatchAddFileInfoResp;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
import com.sdm.common.entity.resp.data.SimulationTaskResultCurveResp;
|
||||
import com.sdm.common.entity.resp.flowable.ProcessInstanceDetailResponse;
|
||||
import com.sdm.common.entity.resp.flowable.ProcessInstanceResp;
|
||||
import com.sdm.common.entity.resp.system.CIDUserResp;
|
||||
import com.sdm.common.feign.impl.capability.SimulationFlowFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.data.DataAnalysisFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.data.DataClientFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.flowable.FlowableClientFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.system.ApproveFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.system.SysUserFeignClientImpl;
|
||||
import com.sdm.common.feign.inter.capability.ISimulationFlowFeignClient;
|
||||
import com.sdm.common.feign.inter.data.IDataFeignClient;
|
||||
@@ -37,8 +43,10 @@ import com.sdm.common.utils.RandomUtil;
|
||||
import com.sdm.project.common.KeyResultTypeEnum;
|
||||
import com.sdm.project.common.MemberTypeEnum;
|
||||
import com.sdm.project.common.RunPerformanceStatusEnum;
|
||||
import com.sdm.project.common.TaskExeStatusEnum;
|
||||
import com.sdm.project.dao.SimulationProjectMapper;
|
||||
import com.sdm.project.dao.SimulationRunMapper;
|
||||
import com.sdm.project.model.bo.ApprovalDeliverableContentsModel;
|
||||
import com.sdm.project.model.bo.TaskNode;
|
||||
import com.sdm.project.model.bo.TaskNodeTag;
|
||||
import com.sdm.project.model.entity.*;
|
||||
@@ -111,6 +119,12 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
@Autowired
|
||||
private SimulationFlowFeignClientImpl flowFeignClient;
|
||||
|
||||
@Autowired
|
||||
private ApproveFeignClientImpl approveFeignClient;
|
||||
|
||||
@Autowired
|
||||
private DataAnalysisFeignClientImpl analysisFeignClient;
|
||||
|
||||
private static final String TEMP_REPORT_PATH = "/opt/report/";
|
||||
|
||||
private int getCurrentNodeDepth(NodeAllBase eachNode) {
|
||||
@@ -781,6 +795,73 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse deliverableApprove(DeliverableApproveReq req) {
|
||||
SimulationTask simulationTask = simulationTaskService.lambdaQuery().eq(SimulationTask::getUuid, req.getTaskId()).one();
|
||||
if (simulationTask != null) {
|
||||
ApprovalDeliverableContentsModel contentsModel = new ApprovalDeliverableContentsModel();
|
||||
contentsModel.setTaskId(req.getTaskId());
|
||||
contentsModel.setDifficult(req.getDifficult());
|
||||
// 发起审批
|
||||
String cidFlowId = launchParamApprove(req.getTemplateId(),req.getTemplateName(), JSONObject.toJSONString(contentsModel),1);
|
||||
if (StringUtils.isEmpty(cidFlowId)) {
|
||||
return SdmResponse.failed("发起评审失败");
|
||||
}
|
||||
simulationTask.setCidFlowId(cidFlowId);
|
||||
simulationTaskService.updateById(simulationTask);
|
||||
return SdmResponse.success(cidFlowId);
|
||||
}
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse deliverableApproveCallback(LaunchApproveReq req) {
|
||||
SdmResponse response = SdmResponse.success();
|
||||
int approveStatus = req.approveStatus;
|
||||
String approveContent = req.approveContents;
|
||||
JSONObject contentObj = JSONObject.parseObject(approveContent);
|
||||
if(contentObj != null && contentObj.containsKey("taskId"))
|
||||
{
|
||||
String taskId = contentObj.getString("taskId");
|
||||
Float difficult = contentObj.getFloat("difficult");
|
||||
SimulationTask simulationTask = simulationTaskService.lambdaQuery().eq(SimulationTask::getUuid, taskId).one();
|
||||
if(simulationTask != null)
|
||||
{
|
||||
// 审批通过 部署流程 保存部署流程部署id和流程定义id
|
||||
if (NumberConstants.TWO == approveStatus) {
|
||||
simulationTask.setDifficult(difficult);
|
||||
simulationTask.setProgress(100);
|
||||
simulationTask.setExeStatus(TaskExeStatusEnum.CLOSED.getCode());
|
||||
simulationTaskService.updateById(simulationTask);
|
||||
}
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
private String launchParamApprove(String templateId, String templateName,String approveContents,int approveAction) {
|
||||
LaunchApproveReq req = new LaunchApproveReq();
|
||||
req.templateId = templateId;
|
||||
req.templateName = templateName;
|
||||
req.approveContents = approveContents;
|
||||
req.approveAction = approveAction;
|
||||
req.approveStatus = 1;
|
||||
req.approveType = ApproveTypeEnum.DELIVERABLE_APPROVE.getCode();
|
||||
req.approveTitle = "交付物评审";
|
||||
req.tenantId = ThreadLocalContext.getTenantId();
|
||||
req.userId = ThreadLocalContext.getUserId();
|
||||
req.creator = ThreadLocalContext.getUserId();
|
||||
SdmResponse response = approveFeignClient.launchApproval(req);
|
||||
if(response.isSuccess()){
|
||||
// 成功
|
||||
String cidFlowId = Optional.ofNullable(response.getData())
|
||||
.map(Object::toString)
|
||||
.orElse("");
|
||||
return cidFlowId;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<PageDataResp<List<SimulationRunKeyResult>>> listSimulationKeyResult(KeyResultReq req) {
|
||||
PageHelper.startPage(req.getCurrent(), req.getSize());
|
||||
@@ -791,17 +872,30 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<KeyResultAndTaskInfoResp> queryKeyResultAndTaskInfo(KeyResultReq req) {
|
||||
KeyResultAndTaskInfoResp keyResultAndTaskInfoResp = new KeyResultAndTaskInfoResp();
|
||||
SimulationRunKeyResult simulationRunKeyResult = simulationKeyResultService.lambdaQuery().eq(SimulationRunKeyResult::getFileId, req.getFileId()).one();
|
||||
if (simulationRunKeyResult != null) {
|
||||
BeanUtils.copyProperties(simulationRunKeyResult, keyResultAndTaskInfoResp);
|
||||
SimulationRun simulationRun = this.lambdaQuery().eq(SimulationRun::getUuid, simulationRunKeyResult.getRunId()).one();
|
||||
if (simulationRun != null) {
|
||||
keyResultAndTaskInfoResp.setSimulationTask(simulationTaskService.lambdaQuery().eq(SimulationTask::getUuid, simulationRun.getTaskId()).one());
|
||||
public SdmResponse<PageDataResp<List<KeyResultAndTaskInfoResp>>> queryKeyResultAndTaskInfo(KeyResultReq req) {
|
||||
List<KeyResultAndTaskInfoResp> respList = new ArrayList<>();
|
||||
|
||||
GetSimulationTaskFileReq taskFileReq = new GetSimulationTaskFileReq();
|
||||
taskFileReq.setUuid(req.getTaskId());
|
||||
taskFileReq.setFileBizType(req.getFileType());
|
||||
taskFileReq.setCurrent(req.getCurrent());
|
||||
taskFileReq.setSize(req.getSize());
|
||||
SdmResponse<PageDataResp<List<SimulationTaskResultCurveResp>>> sdmResponse = analysisFeignClient.getSimulationTaskFile(taskFileReq);
|
||||
|
||||
if (sdmResponse.getData() != null && sdmResponse.getData().getData() != null) {
|
||||
List<SimulationTaskResultCurveResp> resultCurveResps = sdmResponse.getData().getData();
|
||||
for (SimulationTaskResultCurveResp resultCurveResp : resultCurveResps) {
|
||||
KeyResultAndTaskInfoResp keyResultAndTaskInfoResp = new KeyResultAndTaskInfoResp();
|
||||
keyResultAndTaskInfoResp.setFileInfo(resultCurveResp);
|
||||
SimulationRunKeyResult simulationRunKeyResult = simulationKeyResultService.lambdaQuery().eq(SimulationRunKeyResult::getFileId, resultCurveResp.getId()).one();
|
||||
if (simulationRunKeyResult != null) {
|
||||
BeanUtils.copyProperties(simulationRunKeyResult, keyResultAndTaskInfoResp);
|
||||
}
|
||||
respList.add(keyResultAndTaskInfoResp);
|
||||
}
|
||||
}
|
||||
return SdmResponse.success(keyResultAndTaskInfoResp);
|
||||
PageInfo<KeyResultAndTaskInfoResp> page = new PageInfo<>(respList);
|
||||
return PageUtils.getJsonObjectSdmResponse(respList, page);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user