1、bug fix

2、利元亨——仿真待办接口
This commit is contained in:
2025-12-16 09:10:45 +08:00
parent fafdd02c9b
commit 7acd39f0fe
13 changed files with 344 additions and 79 deletions

View File

@@ -2,6 +2,7 @@ package com.sdm.project.controller;
import com.alibaba.excel.util.StringUtils;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.service.lyric.LyricIntegrateService;
import com.sdm.project.common.ApprovalStatusEnum;
import com.sdm.project.model.entity.SimulationNode;
import com.sdm.project.service.ISimulationLyricNodeService;
@@ -21,12 +22,19 @@ public class SimulationLyricNodeController {
@Autowired
private ISimulationLyricNodeService nodeService;
@Autowired
private LyricIntegrateService lyricIntegrateService;
@GetMapping("/updateApprovalStatus")
@Operation(summary = "仿真节点审批状态更新", description = "仿真节点审批状态更新")
public SdmResponse updateApprovalStatus(@RequestParam(value = "projectName") @Validated String projectName, @RequestParam(value = "workspaceName") @Validated String workspaceName, @RequestParam(value = "approvalStatus") @Validated Integer approvalStatus) {
return nodeService.updateApprovalStatus(projectName,workspaceName,approvalStatus);
}
@GetMapping("/getTodoList")
@Operation(summary = "获取待办列表", description = "获取待办列表")
public SdmResponse getTodoList() {
return lyricIntegrateService.getTodoList();
}
}

View File

@@ -164,4 +164,5 @@ public class ProjectNodePo extends NodeAllBase {
private Long imageFileId;
private String englishName;
private String analyseSoftware;
}

View File

@@ -111,4 +111,6 @@ public class SpdmTaskListReq {
private Boolean convertTag = true;
private List<String> approvalStatusList;
}

View File

@@ -2,8 +2,12 @@ package com.sdm.project.model.req;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sdm.project.model.entity.SimulationTaskExtra;
import com.sdm.project.model.po.TaskNodeExtraPo;
import lombok.Data;
import java.util.List;
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class SpdmTaskOprReq {
@@ -53,4 +57,9 @@ public class SpdmTaskOprReq {
*/
private String nodeName;
/**
* 拓展属性
*/
private List<SimulationTaskExtra> extras;
}

View File

@@ -10,6 +10,7 @@ import com.sdm.common.entity.ExportExcelFormat;
import com.sdm.common.entity.enums.DirTypeEnum;
import com.sdm.common.entity.enums.FilePermissionEnum;
import com.sdm.common.entity.enums.MessageTemplateEnum;
import com.sdm.common.entity.enums.ValueTypeEnum;
import com.sdm.common.entity.req.data.CreateDirReq;
import com.sdm.common.entity.req.data.UpdatePermissionReq;
import com.sdm.common.entity.req.data.UploadFilesReq;
@@ -768,7 +769,10 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
}
if (CollectionUtils.isNotEmpty(allPerformanceExtraList)) {
allPerformanceExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime));
for (TaskExtraNode performanceExtraNode : allPerformanceExtraList) {
performanceExtraNode.setCreateTime(createTime);
performanceExtraNode.setValueType(ValueTypeEnum.DEFAULT.getValue());
}
if (projectMapper.batchAddSimulationPerformanceExtra(allPerformanceExtraList) <= 0) {
response = SdmResponse.failed("新增任务指标附加属性失败");
return response;

View File

@@ -10,6 +10,7 @@ import com.sdm.common.entity.ExportExcelFormat;
import com.sdm.common.entity.enums.DirTypeEnum;
import com.sdm.common.entity.enums.FilePermissionEnum;
import com.sdm.common.entity.enums.NodeTypeEnum;
import com.sdm.common.entity.enums.ValueTypeEnum;
import com.sdm.common.entity.req.data.CreateDirReq;
import com.sdm.common.entity.req.data.DelDirReq;
import com.sdm.common.entity.req.data.RenameDirReq;
@@ -1625,6 +1626,12 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
}
if (CollectionUtils.isNotEmpty(projectNodePerformanceExtraList)) {
projectNodePerformanceExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime));
for (TaskExtraNode performanceExtraNode : projectNodePerformanceExtraList) {
performanceExtraNode.setCreateTime(createTime);
if (StringUtils.isBlank(performanceExtraNode.getValueType())) {
performanceExtraNode.setValueType(ValueTypeEnum.DEFAULT.getValue());
}
}
if (mapper.batchAddSimulationPerformanceExtra(projectNodePerformanceExtraList) <= 0) {
response = SdmResponse.failed("新增任务指标附加属性失败");
return response;
@@ -1812,7 +1819,10 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
}
}
if (CollectionUtils.isNotEmpty(projectNodePerformanceExtraList)) {
projectNodePerformanceExtraList.forEach(projectNode -> projectNode.setCreateTime(createTime));
for (TaskExtraNode performanceExtraNode : projectNodePerformanceExtraList) {
performanceExtraNode.setCreateTime(createTime);
performanceExtraNode.setValueType(ValueTypeEnum.DEFAULT.getValue());
}
if (mapper.batchAddSimulationPerformanceExtra(projectNodePerformanceExtraList) <= 0) {
response = SdmResponse.failed("新增任务指标附加属性失败");
return response;

View File

@@ -559,7 +559,7 @@ public class TaskServiceImpl implements ITaskService {
// 由于我分发的、我执行的、我关注的、所有任务,都需要展示仿真负责人,故将负责人抽成方法调用
List<Long> pUserIdList = eachMemberList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType()) && StringUtils.equals(task.getUuid(), member.getTaskId())).map(SpdmTaskMemberVo::getUserId).distinct().toList();
if (CollectionUtils.isNotEmpty(pUserIdList)) {
SdmResponse<List<CIDUserResp>> cidUserResp= sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(pUserIdList).build());
SdmResponse<List<CIDUserResp>> cidUserResp = sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(pUserIdList).build());
task.setPMemberList(cidUserResp.getData());
}
}
@@ -568,7 +568,7 @@ public class TaskServiceImpl implements ITaskService {
// 由于我分发的、我关注的、所有任务,都需要展示仿真执行人,故将执行人抽成方法调用
List<Long> eUserIdList = eachMemberList.stream().filter(member -> MemberTypeEnum.EXECUTOR.getCode().equals(member.getType()) && StringUtils.equals(task.getUuid(), member.getTaskId())).map(SpdmTaskMemberVo::getUserId).distinct().toList();
if (CollectionUtils.isNotEmpty(eUserIdList)) {
SdmResponse<List<CIDUserResp>> cidUserResp= sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(eUserIdList).build());
SdmResponse<List<CIDUserResp>> cidUserResp = sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(eUserIdList).build());
task.setEMemberList(cidUserResp.getData());
}
}
@@ -726,6 +726,30 @@ public class TaskServiceImpl implements ITaskService {
return SdmResponse.failed("编辑仿真执行人失败");
}
}
// 新增拓展属性
List<SimulationTaskExtra> extraList = req.getExtras();
if (CollectionUtils.isEmpty(extraList)) {
continue;
}
String currentTaskId = req.getTaskId();
List<SimulationTaskExtra> taskExtraList = simulationTaskExtraService.lambdaQuery().eq(SimulationTaskExtra::getTaskId, currentTaskId).list();
if (CollectionUtils.isEmpty(taskExtraList)) {
simulationTaskExtraService.saveBatch(extraList);
continue;
}
List<String> propertyNameList = taskExtraList.stream().map(SimulationTaskExtra::getPropertyName).toList();
List<SimulationTaskExtra> saveTaskExtraList = extraList.stream().filter(extra -> !propertyNameList.contains(extra.getPropertyName())).toList();
if (CollectionUtils.isNotEmpty(saveTaskExtraList)) {
simulationTaskExtraService.saveBatch(extraList);
}
List<SimulationTaskExtra> updateTaskExtraList = extraList.stream().filter(extra -> propertyNameList.contains(extra.getPropertyName())).toList();
if (CollectionUtils.isNotEmpty(updateTaskExtraList)) {
for (SimulationTaskExtra simulationTaskExtra : updateTaskExtraList) {
simulationTaskExtraService.lambdaUpdate().set(SimulationTaskExtra::getPropertyValue,simulationTaskExtra.getPropertyValue())
.eq(SimulationTaskExtra::getId, simulationTaskExtra.getId())
.update();
}
}
}
}
return SdmResponse.success();
@@ -764,7 +788,7 @@ public class TaskServiceImpl implements ITaskService {
}
List<String> taskIdList = taskVoList.stream().map(SpdmAnalysisTaskVo::getUuid).toList();
List<PerformanceNodePo> performanceNodePoList = projectMapper.queryPerformanceNodeByNodeIdList(taskIdList,req.getBeginTime(),req.getEndTime(),req.getName());
List<PerformanceNodePo> performanceNodePoList = projectMapper.queryPerformanceNodeByNodeIdList(taskIdList, req.getBeginTime(), req.getEndTime(), req.getName());
if (CollectionUtils.isEmpty(performanceNodePoList)) {
log.error("指标查询中未查询到指标1");
return SdmResponse.success(new ArrayList<>());
@@ -893,7 +917,7 @@ public class TaskServiceImpl implements ITaskService {
return SdmResponse.success(new ArrayList<>());
}
List<String> taskIdList = taskVoList.stream().map(SpdmAnalysisTaskVo::getUuid).toList();
List<TaskRunPo> runPoList = projectMapper.queryRunListByNodeIdList(taskIdList,req.getBeginTime(),req.getEndTime(),req.getName());
List<TaskRunPo> runPoList = projectMapper.queryRunListByNodeIdList(taskIdList, req.getBeginTime(), req.getEndTime(), req.getName());
if (CollectionUtils.isEmpty(runPoList)) {
log.error("算例查询中未查询到算例1");
return SdmResponse.success(new ArrayList<>());
@@ -994,14 +1018,14 @@ public class TaskServiceImpl implements ITaskService {
@Override
public SdmResponse<GetAllRunResultByTaskIdResp> getAllRunResultByTaskId(String taskId) {
GetAllRunResultByTaskIdResp result= new GetAllRunResultByTaskIdResp();
GetAllRunResultByTaskIdResp result = new GetAllRunResultByTaskIdResp();
// taskId不为nullrunid为null查询所有工况设定的标准指标
List<SimulationPerformance> simulationTaskPerformances = simulationPerformanceService
.lambdaQuery()
.eq(SimulationPerformance::getTaskId, taskId)
.isNull(SimulationPerformance::getRunId)
.list();
if(CollectionUtils.isEmpty(simulationTaskPerformances)) {
if (CollectionUtils.isEmpty(simulationTaskPerformances)) {
return SdmResponse.success();
}
@@ -1012,7 +1036,6 @@ public class TaskServiceImpl implements ITaskService {
});
// // taskId不为nullrunid不为null获取算列计算结果
List<SimulationRun> simulationRunList = simulationRunService.lambdaQuery().eq(SimulationRun::getTaskId, taskId).list();
@@ -1026,7 +1049,7 @@ public class TaskServiceImpl implements ITaskService {
List<RunResultResp> runResultRespList = new ArrayList<>();
if(CollectionUtils.isNotEmpty(simulationRunList)) {
if (CollectionUtils.isNotEmpty(simulationRunList)) {
for (SimulationRun simulationRun : simulationRunList) {
RunResultResp runResultResp = new RunResultResp();
runResultResp.setSimulationRun(simulationRun);
@@ -1058,7 +1081,7 @@ public class TaskServiceImpl implements ITaskService {
public SdmResponse<List<UserWorkloadResp>> listUserWorkloadsWithinTimeFrame(UserWorkloadReq req) {
List<UserWorkloadResp> userWorkloadRespList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(req.getUserIds())) {
SdmResponse<List<CIDUserResp>> cidUserResp= sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(req.getUserIds().stream().map(Long::valueOf).toList()).build());
SdmResponse<List<CIDUserResp>> cidUserResp = sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(req.getUserIds().stream().map(Long::valueOf).toList()).build());
List<CIDUserResp> userList = cidUserResp.getData();
for (CIDUserResp userResp : userList) {
UserWorkloadResp workloadResp = new UserWorkloadResp();
@@ -1111,15 +1134,15 @@ public class TaskServiceImpl implements ITaskService {
}
req.setIdMap(currentIdMapList);
if (ObjectUtils.isNotEmpty(params)) {
BeanUtils.copyProperties(params,req);
BeanUtils.copyProperties(params, req);
}
req.setCurrent(1);
req.setSize(10000);
List<ExportExcelFormat> exportExcelFormats = taskExportExcelFormat.getExcelHeaders();
SdmResponse taskRespond = list(req);
SdmResponse response = new SdmResponse();
if(taskRespond.isSuccess()) {
JSONObject dataObj = (JSONObject) taskRespond.getData();
if (taskRespond.isSuccess()) {
JSONObject dataObj = (JSONObject) taskRespond.getData();
List<SpdmNewTaskVo> taskVoList = (List<SpdmNewTaskVo>) dataObj.get("data");
List<SpdmExportNewTaskVo> exportNewTaskVoList = new ArrayList<>();
List<CIDUserResp> pMemberList;
@@ -1136,14 +1159,14 @@ public class TaskServiceImpl implements ITaskService {
eMemberName = eMemberList.stream().map(CIDUserResp::getNickname).collect(Collectors.joining(","));
}
SpdmExportNewTaskVo spdmExportNewTaskVo = new SpdmExportNewTaskVo();
BeanUtils.copyProperties(spdmNewTaskVo,spdmExportNewTaskVo);
BeanUtils.copyProperties(spdmNewTaskVo, spdmExportNewTaskVo);
spdmExportNewTaskVo.setPMemberList(pMemberName);
spdmExportNewTaskVo.setEMemberList(eMemberName);
exportNewTaskVoList.add(spdmExportNewTaskVo);
}
ExcelUtil.exportExcelNoMerge(JSONArray.from(exportNewTaskVoList),exportExcelFormats,httpServletResponse);
ExcelUtil.exportExcelNoMerge(JSONArray.from(exportNewTaskVoList), exportExcelFormats, httpServletResponse);
} else {
response = SdmResponse.failed(taskRespond.getMessage());
response = SdmResponse.failed(taskRespond.getMessage());
}
return response;
}
@@ -1295,21 +1318,21 @@ public class TaskServiceImpl implements ITaskService {
@Override
public SdmResponse getTaskDetail(GetTaskDetailReq req) {
log.info("getTaskDetail参数为{}",req);
log.info("getTaskDetail参数为{}", req);
SpdmTaskVo taskVo = mapper.getTask(req.getRelatedResourceUuid());
if (ObjectUtils.isEmpty(taskVo)) {
log.error("根据id{},未查询到任务",req.getRelatedResourceUuid());
log.error("根据id{},未查询到任务", req.getRelatedResourceUuid());
return SdmResponse.failed("未查询到任务");
}
SpdmTaskDetailVo spdmTaskDetailVo = new SpdmTaskDetailVo();
BeanUtils.copyProperties(taskVo,spdmTaskDetailVo);
BeanUtils.copyProperties(taskVo, spdmTaskDetailVo);
spdmTaskDetailVo.setId(taskVo.getId());
List<SpdmTaskMemberVo> memberList = mapper.getMemberList(Collections.singletonList(taskVo.getUuid()), null);
if (CollectionUtils.isNotEmpty(memberList)) {
List<Long> userIdList = memberList.stream().map(SpdmTaskMemberVo::getUserId).toList();
Map<Long, List<CIDUserResp>> userMap = Map.of();
if (CollectionUtils.isNotEmpty(userIdList)) {
SdmResponse<List<CIDUserResp>> cidUserResp= sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(userIdList).build());
SdmResponse<List<CIDUserResp>> cidUserResp = sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(userIdList).build());
List<CIDUserResp> userList = cidUserResp.getData();
if (CollectionUtils.isNotEmpty(userList)) {
userMap = userList.stream().collect(Collectors.groupingBy(CIDUserResp::getUserId));
@@ -1343,7 +1366,7 @@ public class TaskServiceImpl implements ITaskService {
return SdmResponse.success(spdmTaskDetailVo);
}
private SdmResponse createDir(String uuid, String uuidOwnType,String parentUuid, String dirName) {
private SdmResponse createDir(String uuid, String uuidOwnType, String parentUuid, String dirName) {
CreateDirReq createDirReq = new CreateDirReq();
createDirReq.setUuId(uuid);
createDirReq.setUuIdOwnType(uuidOwnType);
@@ -1360,7 +1383,7 @@ public class TaskServiceImpl implements ITaskService {
@Override
public BosimSaveProjectTaskRsp syncCidTask(SyncCidTaskReq req) {
Long userId = ThreadLocalContext.getUserId();
log.info("syncCidTask中userId为{}",userId);
log.info("syncCidTask中userId为{}", userId);
userId = ObjectUtils.isNotEmpty(userId) ? userId : 1999363561237610497L;
BosimSaveProjectTaskRsp resp = new BosimSaveProjectTaskRsp();
String projectId = req.getProjectId();
@@ -1373,7 +1396,7 @@ public class TaskServiceImpl implements ITaskService {
}
String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
// 查询是否已同步过项目
SpdmNodeVo spdmNodeVo = nodeMapper.getNodeByProjectIdAndName(projectId,projectName);
SpdmNodeVo spdmNodeVo = nodeMapper.getNodeByProjectIdAndName(projectId, projectName);
if (ObjectUtils.isEmpty(spdmNodeVo)) {
SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq();
spdmProjectNodeEditReq.setNodeName(req.getProjectName());
@@ -1384,7 +1407,7 @@ public class TaskServiceImpl implements ITaskService {
spdmProjectNodeEditReq.setPid("");
spdmProjectNodeEditReq.setTenantId(ThreadLocalContext.getTenantId());
if (nodeMapper.addNodeBatch(Collections.singletonList(spdmProjectNodeEditReq)) <= 0) {
log.error("同步CID项目{}失败",req.getProjectId() + " " + req.getProjectName());
log.error("同步CID项目{}失败", req.getProjectId() + " " + req.getProjectName());
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
return resp;
@@ -1393,7 +1416,7 @@ public class TaskServiceImpl implements ITaskService {
// 创建项目节点的文件夹
SdmResponse response = createDir(spdmProjectNodeEditReq.getUuid(), spdmProjectNodeEditReq.getNodeType(), null, spdmProjectNodeEditReq.getNodeName());
if (ObjectUtils.isEmpty(response) || response.getCode() != ResultCode.SUCCESS.getCode()) {
log.error("同步CID项目{}时,创建文件夹失败,原因为:{}",req.getProjectId() + " " + req.getProjectName(),response.getMessage());
log.error("同步CID项目{}时,创建文件夹失败,原因为:{}", req.getProjectId() + " " + req.getProjectName(), response.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
@@ -1406,11 +1429,11 @@ public class TaskServiceImpl implements ITaskService {
Map<Long, Byte> userPermissions = new HashMap<>();
userPermissions.put(userId, FilePermissionEnum.ALL.getValue());
updatePermissionReq.setUserPermissions(userPermissions);
log.info("同步CID项目时更新用户权限的参数为{}",updatePermissionReq);
log.info("同步CID项目时更新用户权限的参数为{}", updatePermissionReq);
SdmResponse updatePermissionResponse = dataClientFeignClient.updatePermission(updatePermissionReq);
log.info("同步CID项目时更新用户权限的返回值为{}",updatePermissionResponse);
}catch (Exception ex) {
log.error("同步CID项目{}时,创建文件夹异常,原因为:{}",req.getProjectId() + " " + req.getProjectName(),ex.getMessage());
log.info("同步CID项目时更新用户权限的返回值为{}", updatePermissionResponse);
} catch (Exception ex) {
log.error("同步CID项目{}时,创建文件夹异常,原因为:{}", req.getProjectId() + " " + req.getProjectName(), ex.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
@@ -1432,9 +1455,9 @@ public class TaskServiceImpl implements ITaskService {
List<String> projectIdList = taskVoList.stream().map(SpdmTaskVo::getTag1).toList();
if (projectIdList.contains(projectId)) {
String existTaskName = taskVoList.stream().map(SpdmTaskVo::getTaskName).collect(Collectors.joining(","));
log.error("本次同步任务失败,以下任务:{}已存在",existTaskName);
log.error("本次同步任务失败,以下任务:{}已存在", existTaskName);
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage("本次同步任务失败,以下任务:"+existTaskName+"已存在");
resp.setMessage("本次同步任务失败,以下任务:" + existTaskName + "已存在");
return resp;
}
}
@@ -1462,7 +1485,7 @@ public class TaskServiceImpl implements ITaskService {
for (CidTaskNode taskNode : taskNodeList) {
response = createDir(taskNode.getUuid(), NodeTypeEnum.TASK.getValue(), req.getProjectId(), taskNode.getTaskName());
if (ObjectUtils.isEmpty(response) || response.getCode() != ResultCode.SUCCESS.getCode()) {
log.error("同步CID任务时创建任务{}的文件夹失败,原因为:{}",taskNode.getUuid() + " " + taskNode.getTaskName(),response.getMessage());
log.error("同步CID任务时创建任务{}的文件夹失败,原因为:{}", taskNode.getUuid() + " " + taskNode.getTaskName(), response.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
@@ -1477,13 +1500,13 @@ public class TaskServiceImpl implements ITaskService {
Map<Long, Byte> userPermissions = new HashMap<>();
userPermissions.put(userId, FilePermissionEnum.ALL.getValue());
updatePermissionReq.setUserPermissions(userPermissions);
log.info("同步CID任务时更新用户权限的参数为{}",updatePermissionReq);
log.info("同步CID任务时更新用户权限的参数为{}", updatePermissionReq);
SdmResponse updatePermissionResponse = dataClientFeignClient.updatePermission(updatePermissionReq);
log.info("同步CID任务时更新用户权限的返回值为{}",updatePermissionResponse);
log.info("同步CID任务时更新用户权限的返回值为{}", updatePermissionResponse);
}
}catch (Exception ex) {
log.error("同步CID任务时创建文件夹失败原因为{}",ex.getMessage());
} catch (Exception ex) {
log.error("同步CID任务时创建文件夹失败原因为{}", ex.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
resp.setCode(String.valueOf(ResultCode.FAILED.getCode()));
resp.setMessage(ResultCode.FAILED.getMessage());
@@ -1500,7 +1523,7 @@ public class TaskServiceImpl implements ITaskService {
Set<String> allExeStatus = new HashSet<>();
List<SpdmTaskVo> taskList = mapper.getTaskListByTag(req);
if (CollectionUtils.isEmpty(taskList)) {
log.error("根据参数:{},未查询到任务",req);
log.error("根据参数:{},未查询到任务", req);
JSONObject resultResponse = new JSONObject();
resultResponse.put("allExeStatus", allExeStatus);
resultResponse.put("result", new ArrayList<>());
@@ -1519,7 +1542,7 @@ public class TaskServiceImpl implements ITaskService {
}
}
if (CollectionUtils.isEmpty(nodeIdList)) {
log.error("根据任务:{},未查询到{}标签中的节点id",taskList,resultTagType);
log.error("根据任务:{},未查询到{}标签中的节点id", taskList, resultTagType);
JSONObject resultResponse = new JSONObject();
resultResponse.put("allExeStatus", allExeStatus);
resultResponse.put("result", new ArrayList<>());
@@ -1528,7 +1551,7 @@ public class TaskServiceImpl implements ITaskService {
nodeIdList = nodeIdList.stream().distinct().toList();
List<SpdmNodeVo> nodeList = nodeMapper.getNodeListByIds(nodeIdList);
if (CollectionUtils.isEmpty(nodeList)) {
log.error("根据节点id{},未查询节点",nodeIdList);
log.error("根据节点id{},未查询节点", nodeIdList);
JSONObject resultResponse = new JSONObject();
resultResponse.put("allExeStatus", allExeStatus);
resultResponse.put("result", new ArrayList<>());
@@ -1540,12 +1563,12 @@ public class TaskServiceImpl implements ITaskService {
String[] resultTagIdArr;
for (SpdmTaskVo taskVo : taskList) {
try {
resultTagId = getTagProperty(taskVo,resultTagType);
resultTagId = getTagProperty(taskVo, resultTagType);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (StringUtils.isBlank(resultTagId)) {
log.error("id{}任务的:{}标签不存在",taskVo.getId(),resultTagType);
log.error("id{}任务的:{}标签不存在", taskVo.getId(), resultTagType);
continue;
}
resultTagIdArr = resultTagId.split(",");
@@ -1587,10 +1610,10 @@ public class TaskServiceImpl implements ITaskService {
// 所有指标执行状态
Set<String> allExeStatus = new HashSet<>();
TaskCompleteStatisticsReq taskCompleteStatisticsReq = new TaskCompleteStatisticsReq();
BeanUtils.copyProperties(req,taskCompleteStatisticsReq);
BeanUtils.copyProperties(req, taskCompleteStatisticsReq);
List<SpdmTaskVo> taskList = mapper.getTaskListByTag(taskCompleteStatisticsReq);
if (CollectionUtils.isEmpty(taskList)) {
log.error("根据参数:{},未查询到任务",req);
log.error("根据参数:{},未查询到任务", req);
JSONObject resultResponse = new JSONObject();
resultResponse.put("allExeStatus", allExeStatus);
resultResponse.put("result", new ArrayList<>());
@@ -1600,7 +1623,7 @@ public class TaskServiceImpl implements ITaskService {
List<String> taskIdList = taskList.stream().map(SpdmTaskVo::getUuid).distinct().toList();
List<PerformanceNodePo> performanceList = nodeMapper.getPerformanceListByNodeIdList(taskIdList);
if (CollectionUtils.isEmpty(performanceList)) {
log.error("根据任务id{},未查询到指标",taskIdList);
log.error("根据任务id{},未查询到指标", taskIdList);
JSONObject resultResponse = new JSONObject();
resultResponse.put("allExeStatus", allExeStatus);
resultResponse.put("result", new ArrayList<>());
@@ -1631,7 +1654,7 @@ public class TaskServiceImpl implements ITaskService {
}
}
if (CollectionUtils.isEmpty(nodeIdList)) {
log.error("根据任务:{},未查询到{}标签中的节点id",taskList,resultTagType);
log.error("根据任务:{},未查询到{}标签中的节点id", taskList, resultTagType);
JSONObject resultResponse = new JSONObject();
resultResponse.put("allExeStatus", allExeStatus);
resultResponse.put("result", new ArrayList<>());
@@ -1640,7 +1663,7 @@ public class TaskServiceImpl implements ITaskService {
nodeIdList = nodeIdList.stream().distinct().toList();
List<SpdmNodeVo> nodeList = nodeMapper.getNodeListByIds(nodeIdList);
if (CollectionUtils.isEmpty(nodeList)) {
log.error("根据节点id{},未查询节点",nodeIdList);
log.error("根据节点id{},未查询节点", nodeIdList);
JSONObject resultResponse = new JSONObject();
resultResponse.put("allExeStatus", allExeStatus);
resultResponse.put("result", new ArrayList<>());
@@ -1653,12 +1676,12 @@ public class TaskServiceImpl implements ITaskService {
for (PerformanceNodePo performanceNodePo : performanceList) {
eachTaskVo = taskMap.get(performanceNodePo.getTaskId());
try {
resultTagId = getTagProperty(eachTaskVo,resultTagType);
resultTagId = getTagProperty(eachTaskVo, resultTagType);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (StringUtils.isBlank(resultTagId)) {
log.error("id{}任务的:{}标签不存在",eachTaskVo.getId(),resultTagType);
log.error("id{}任务的:{}标签不存在", eachTaskVo.getId(), resultTagType);
continue;
}
resultTagIdArr = resultTagId.split(",");
@@ -1710,7 +1733,7 @@ public class TaskServiceImpl implements ITaskService {
log.info("项目成员为空");
return SdmResponse.success();
}
List<CIDUserResp> userList = (List<CIDUserResp>)((JSONObject) sdmResponse.getData()).get("data");
List<CIDUserResp> userList = (List<CIDUserResp>) ((JSONObject) sdmResponse.getData()).get("data");
if (CollectionUtils.isEmpty(userList)) {
log.info("项目成员为空");
return SdmResponse.success();
@@ -1764,7 +1787,7 @@ public class TaskServiceImpl implements ITaskService {
log.info("项目成员为空");
return SdmResponse.success();
}
List<CIDUserResp> userList = (List<CIDUserResp>)((JSONObject) sdmResponse.getData()).get("data");
List<CIDUserResp> userList = (List<CIDUserResp>) ((JSONObject) sdmResponse.getData()).get("data");
if (CollectionUtils.isEmpty(userList)) {
log.info("项目成员为空");
return SdmResponse.success();
@@ -1808,7 +1831,7 @@ public class TaskServiceImpl implements ITaskService {
if (!taskRespond.isSuccess()) {
return taskRespond;
}
JSONObject dataObj = (JSONObject) taskRespond.getData();
JSONObject dataObj = (JSONObject) taskRespond.getData();
List<SpdmNewTaskVo> taskVoList = (List<SpdmNewTaskVo>) dataObj.get("data");
JSONObject jsonObject = new JSONObject();
if (CollectionUtils.isEmpty(taskVoList)) {
@@ -1823,7 +1846,7 @@ public class TaskServiceImpl implements ITaskService {
List<CIDUserResp> spdmPUserVoList = new ArrayList<>();
List<CIDUserResp> spdmEUserVoList = new ArrayList<>();
SpdmTaskDetailVo spdmTaskDetailVo = new SpdmTaskDetailVo();
BeanUtils.copyProperties(taskVo,spdmTaskDetailVo);
BeanUtils.copyProperties(taskVo, spdmTaskDetailVo);
spdmTaskDetailVo.setId(taskVo.getId());
List<Long> userIdList = memberList.stream().filter(member -> taskVo.getUuid().equals(member.getTaskId())).map(SpdmTaskMemberVo::getUserId).toList();
if (CollectionUtils.isEmpty(userIdList)) {
@@ -1860,10 +1883,10 @@ public class TaskServiceImpl implements ITaskService {
}
spdmTaskDetailVoList.add(spdmTaskDetailVo);
}
}else {
} else {
for (SpdmNewTaskVo taskVo : taskVoList) {
SpdmTaskDetailVo spdmTaskDetailVo = new SpdmTaskDetailVo();
BeanUtils.copyProperties(taskVo,spdmTaskDetailVo);
BeanUtils.copyProperties(taskVo, spdmTaskDetailVo);
spdmTaskDetailVo.setId(taskVo.getId());
spdmTaskDetailVoList.add(spdmTaskDetailVo);
}
@@ -1890,7 +1913,7 @@ public class TaskServiceImpl implements ITaskService {
}
req.setIdMap(currentIdMapList);
if (ObjectUtils.isNotEmpty(params)) {
BeanUtils.copyProperties(params,req);
BeanUtils.copyProperties(params, req);
}
req.setConvertTag(false);
req.setType(2);
@@ -1902,8 +1925,8 @@ public class TaskServiceImpl implements ITaskService {
SdmResponse response = new SdmResponse();
List<com.sdm.common.entity.bo.TaskNodeTag> tagMap = params.getTagMap();
List<String> allNodeIdList = new ArrayList<>();
if(taskRespond.isSuccess()) {
JSONObject dataObj = (JSONObject) taskRespond.getData();
if (taskRespond.isSuccess()) {
JSONObject dataObj = (JSONObject) taskRespond.getData();
List<SpdmNewTaskVo> taskVoList = (List<SpdmNewTaskVo>) dataObj.get("data");
if (CollectionUtils.isEmpty(taskVoList)) {
log.error("导出任务分析项树时,任务不能为空");
@@ -1914,7 +1937,7 @@ public class TaskServiceImpl implements ITaskService {
taskVoList = taskVoList.stream().filter(task -> chooseTaskIdList.contains(task.getUuid())).toList();
}
if (CollectionUtils.isEmpty(taskVoList)) {
log.error("导出任务分析项树时根据任务id{}过滤后,任务集合为空",chooseTaskIdList);
log.error("导出任务分析项树时根据任务id{}过滤后,任务集合为空", chooseTaskIdList);
return SdmResponse.failed("任务不能为空");
}
List<ExportExcelFormat> fixedHeaderList = new ArrayList<>();
@@ -1970,7 +1993,7 @@ public class TaskServiceImpl implements ITaskService {
fixedHeaderList.add(taskCodeExportExcelFormat);
fixedHeaderList.add(performanceNameExportExcelFormat);
fixedHeaderList.add(performanceCodeExportExcelFormat);
}else if (nodeNameOptional.isPresent()) {
} else if (nodeNameOptional.isPresent()) {
// 机台
ExportExcelFormat machineNameExportExcelFormat = new ExportExcelFormat();
machineNameExportExcelFormat.setKey(MACHINE_NAME_KEY);
@@ -2001,7 +2024,7 @@ public class TaskServiceImpl implements ITaskService {
fixedHeaderList.add(disciplineNameExportExcelFormat);
fixedHeaderList.add(taskNameExportExcelFormat);
fixedHeaderList.add(performanceNameExportExcelFormat);
}else if (nodeCodeOptional.isPresent()) {
} else if (nodeCodeOptional.isPresent()) {
// 机台
ExportExcelFormat machineCodeExportExcelFormat = new ExportExcelFormat();
machineCodeExportExcelFormat.setKey(MACHINE_CODE_KEY);
@@ -2061,7 +2084,7 @@ public class TaskServiceImpl implements ITaskService {
eMemberName = eMemberList.stream().map(CIDUserResp::getNickname).collect(Collectors.joining(","));
}
SpdmExportNewTaskVo spdmExportNewTaskVo = new SpdmExportNewTaskVo();
BeanUtils.copyProperties(spdmNewTaskVo,spdmExportNewTaskVo);
BeanUtils.copyProperties(spdmNewTaskVo, spdmExportNewTaskVo);
spdmExportNewTaskVo.setPMemberList(pMemberName);
spdmExportNewTaskVo.setEMemberList(eMemberName);
// 查询任务相应的前置节点和指标
@@ -2198,7 +2221,7 @@ public class TaskServiceImpl implements ITaskService {
if (CollectionUtils.isNotEmpty(performanceNodePoList)) {
for (PerformanceNodePo performanceNodePo : performanceNodePoList) {
SpdmExportNewTaskVo exportNewTaskVo = new SpdmExportNewTaskVo();
BeanUtils.copyProperties(performanceNodePo,exportNewTaskVo);
BeanUtils.copyProperties(performanceNodePo, exportNewTaskVo);
exportNewTaskVo.setMachineName(spdmExportNewTaskVo.getMachineName());
exportNewTaskVo.setMachineCode(spdmExportNewTaskVo.getMachineCode());
exportNewTaskVo.setWorkspaceName(spdmExportNewTaskVo.getWorkspaceName());
@@ -2218,9 +2241,9 @@ public class TaskServiceImpl implements ITaskService {
}
}
}
ExcelUtil.exportExcelNoMerge(JSONArray.from(allExportNewTaskVoList),exportExcelFormats,httpServletResponse);
ExcelUtil.exportExcelNoMerge(JSONArray.from(allExportNewTaskVoList), exportExcelFormats, httpServletResponse);
} else {
response = SdmResponse.failed(taskRespond.getMessage());
response = SdmResponse.failed(taskRespond.getMessage());
}
return response;
}

View File

@@ -70,6 +70,14 @@
)
</if>
<if test="req.approvalStatusList != null and req.approvalStatusList.size > 0">
and approval_status in (
<foreach collection='req.approvalStatusList' item='approvalStatus' index='index' separator=','>
#{approvalStatus}
</foreach>
)
</if>
<if test="req.beginSTime != null and req.beginSTime != ''">
<![CDATA[