Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -13,8 +13,6 @@ public class LyricParamConstants {
|
||||
public static final String SYSTEM_CODE = "spdm";
|
||||
// 表名称
|
||||
public static final String TABLE_NAME = "oa_three_d_review";
|
||||
// 字段名称
|
||||
public static final String COLUMN_NAME = "simulation_table";
|
||||
// 权限编码
|
||||
public static final String FILE_POWER = "2456236750149124114";
|
||||
// 系统id
|
||||
@@ -23,10 +21,16 @@ public class LyricParamConstants {
|
||||
public static final Long FORM_ID = 1847115435993071616L;
|
||||
// 有限元控件id
|
||||
public static final Long FINITE_ELEMENT_COMPONENT_INST_ID = 8000004142460000204L;
|
||||
// 有限元字段名称
|
||||
public static final String FINITE_ELEMENT_COLUMN_NAME = "simulation_table";
|
||||
// 机器人控件id
|
||||
public static final Long ROBOT_COMPONENT_INST_ID = 8000004142460000204L;
|
||||
public static final Long ROBOT_COMPONENT_INST_ID = 8000004142460000228L;
|
||||
// 机器人字段名称
|
||||
public static final String ROBOT_COLUMN_NAME = "robot_table";
|
||||
// 公差控件id
|
||||
public static final Long TOLERANCE_COMPONENT_INST_ID = 8000004142460000204L;
|
||||
public static final Long TOLERANCE_COMPONENT_INST_ID = 8000004144780000369L;
|
||||
// 公差字段名称
|
||||
public static final String TOLERANCE_COLUMN_NAME = "checkproducts_enclosure";
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ public enum FileBizTypeEnum {
|
||||
* 云图文件
|
||||
*/
|
||||
@Schema(description = "云图文件", example = "5")
|
||||
CLOUD_FILE(5, "图片文件"),
|
||||
CLOUD_FILE(5, "云图文件"),
|
||||
|
||||
/**
|
||||
* 流程脚本
|
||||
@@ -128,12 +128,4 @@ public enum FileBizTypeEnum {
|
||||
return value;
|
||||
}
|
||||
|
||||
public static String getDirNameByValue(int value) {
|
||||
for (FileBizTypeEnum fileBizTypeEnum : values()) {
|
||||
if (fileBizTypeEnum.value == value) {
|
||||
return fileBizTypeEnum.getDirName();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,72 +15,108 @@ public class TagReq {
|
||||
@Schema(description = "标签1")
|
||||
private String tag1;
|
||||
|
||||
@Schema(description = "标签1编号")
|
||||
private String tag1Code;
|
||||
|
||||
@Schema(description = "标签1名称")
|
||||
private String tag1Name;
|
||||
|
||||
@Schema(description = "标签2")
|
||||
private String tag2;
|
||||
|
||||
@Schema(description = "标签2编号")
|
||||
private String tag2Code;
|
||||
|
||||
@Schema(description = "标签2名称")
|
||||
private String tag2Name;
|
||||
|
||||
@Schema(description = "标签3")
|
||||
private String tag3;
|
||||
|
||||
@Schema(description = "标签3编号")
|
||||
private String tag3Code;
|
||||
|
||||
@Schema(description = "标签3名称")
|
||||
private String tag3Name;
|
||||
|
||||
@Schema(description = "标签4")
|
||||
private String tag4;
|
||||
|
||||
@Schema(description = "标签4编号")
|
||||
private String tag4Code;
|
||||
|
||||
@Schema(description = "标签4名称")
|
||||
private String tag4Name;
|
||||
|
||||
@Schema(description = "标签5")
|
||||
private String tag5;
|
||||
|
||||
@Schema(description = "标签5编号")
|
||||
private String tag5Code;
|
||||
|
||||
@Schema(description = "标签5名称")
|
||||
private String tag5Name;
|
||||
|
||||
@Schema(description = "标签6")
|
||||
private String tag6;
|
||||
|
||||
@Schema(description = "标签6编号")
|
||||
private String tag6Code;
|
||||
|
||||
@Schema(description = "标签6名称")
|
||||
private String tag6Name;
|
||||
|
||||
@Schema(description = "标签7")
|
||||
private String tag7;
|
||||
|
||||
@Schema(description = "标签7编号")
|
||||
private String tag7Code;
|
||||
|
||||
@Schema(description = "标签7名称")
|
||||
private String tag7Name;
|
||||
|
||||
@Schema(description = "标签8")
|
||||
private String tag8;
|
||||
|
||||
@Schema(description = "标签8编号")
|
||||
private String tag8Code;
|
||||
|
||||
@Schema(description = "标签8名称")
|
||||
private String tag8Name;
|
||||
|
||||
@Schema(description = "标签9")
|
||||
private String tag9;
|
||||
|
||||
@Schema(description = "标签9编号")
|
||||
private String tag9Code;
|
||||
|
||||
@Schema(description = "标签9名称")
|
||||
private String tag9Name;
|
||||
|
||||
@Schema(description = "标签10")
|
||||
private String tag10;
|
||||
|
||||
@Schema(description = "标签10编号")
|
||||
private String tag10Code;
|
||||
|
||||
@Schema(description = "标签10名称")
|
||||
private String tag10Name;
|
||||
|
||||
@Schema(description= "任务ID")
|
||||
private String taskId;
|
||||
|
||||
@Schema(description= "任务编号")
|
||||
private String taskCode;
|
||||
|
||||
@Schema(description= "任务名称")
|
||||
private String taskName;
|
||||
|
||||
@Schema(description= "算例ID")
|
||||
private String runId;
|
||||
|
||||
@Schema(description= "算例编号")
|
||||
private String runCode;
|
||||
|
||||
@Schema(description= "算例名称")
|
||||
private String runName;
|
||||
}
|
||||
|
||||
@@ -38,4 +38,7 @@ public class SimulationTaskResultCurveResp extends BaseResp {
|
||||
|
||||
@Schema(description = "排序号")
|
||||
private Integer sortOrder;
|
||||
|
||||
@Schema(description = "创建人")
|
||||
private Long creatorId;
|
||||
}
|
||||
|
||||
@@ -39,6 +39,10 @@ public class SpdmTaskVo extends BaseEntity {
|
||||
* 当前节点类型
|
||||
*/
|
||||
private String nodeType;
|
||||
/**
|
||||
* 节点编码
|
||||
*/
|
||||
private String nodeCode;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,12 +4,15 @@ import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
||||
import com.sdm.common.entity.req.task.TaskExportExcelFormat;
|
||||
import com.sdm.common.entity.req.task.TaskTreeExportExcelFormat;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.feign.inter.project.ISimulationProjectFeignClient;
|
||||
import com.sdm.common.log.annotation.SysLog;
|
||||
import com.sdm.project.model.bo.ModifyProjectNode;
|
||||
import com.sdm.project.model.req.ProjectTreeListReq;
|
||||
import com.sdm.project.model.req.ProjectTreeTagReq;
|
||||
import com.sdm.project.model.req.SpdmNodeReq;
|
||||
import com.sdm.project.model.req.WorkspaceReportListReq;
|
||||
import com.sdm.project.model.resp.WorkspaceReportListResp;
|
||||
import com.sdm.project.service.IProjectService;
|
||||
import com.sdm.project.service.ITaskService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -21,6 +24,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping(value = "/project")
|
||||
@@ -107,4 +111,10 @@ public class SimulationProjectController implements ISimulationProjectFeignClien
|
||||
return projectService.queryDesignVersions(projectId, phaseId);
|
||||
}
|
||||
|
||||
@PostMapping("/getWorkspaceReportList")
|
||||
@Operation(summary = "查询工位下的报告列表", description = "根据工位id和tagMap配置查询工位下的报告文件列表")
|
||||
public SdmResponse<PageDataResp<List<WorkspaceReportListResp>>> getWorkspaceReportList(@RequestBody @Validated WorkspaceReportListReq req) {
|
||||
return projectService.getWorkspaceReportList(req);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,4 +10,8 @@ public class SpdmMergeQueryNodeReq {
|
||||
@Schema(description = "查询类型")
|
||||
private String type;
|
||||
|
||||
// 返回值类型:1-name,2-code
|
||||
@Schema(description = "返回值类型")
|
||||
private Integer resultType = 1;
|
||||
|
||||
}
|
||||
|
||||
@@ -152,6 +152,9 @@ public class SpdmTaskListReq {
|
||||
|
||||
private List<String> filterDiscipline;
|
||||
|
||||
// 二次查询过滤学科
|
||||
private String discipline;
|
||||
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.sdm.project.model.req;
|
||||
|
||||
import com.sdm.project.model.bo.TaskNodeTag;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Schema(description = "工位报告列表查询请求")
|
||||
public class WorkspaceReportListReq {
|
||||
|
||||
@NotNull(message = "workspaceId不能为空")
|
||||
@Schema(description = "工位id")
|
||||
private String workspaceId;
|
||||
|
||||
@Schema(description = "标签映射配置,用于指定哪个tag对应工位")
|
||||
private List<TaskNodeTag> tagMap;
|
||||
|
||||
@NotNull(message = "当前页码不能为空")
|
||||
@Schema(description = "当前页码")
|
||||
private Integer current;
|
||||
|
||||
@NotNull(message = "每页数量不能为空")
|
||||
@Schema(description = "每页数量")
|
||||
private Integer size;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.sdm.project.model.resp;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@Schema(description = "工位报告列表响应")
|
||||
public class WorkspaceReportListResp {
|
||||
|
||||
@Schema(description = "文件id")
|
||||
private Long fileId;
|
||||
|
||||
@Schema(description = "文件名称")
|
||||
private String originalName;
|
||||
|
||||
@Schema(description = "文件大小(格式化后)")
|
||||
private String formatFileSize;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "所属任务名称")
|
||||
private String taskName;
|
||||
|
||||
@Schema(description = "任务uuid")
|
||||
private String taskUuid;
|
||||
|
||||
@Schema(description = "审批状态")
|
||||
private String approvalStatus;
|
||||
|
||||
@Schema(description = "创建人")
|
||||
private Long creator;
|
||||
private String creatorName;
|
||||
}
|
||||
@@ -4,8 +4,10 @@ import com.alibaba.fastjson2.JSONObject;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
||||
import com.sdm.common.entity.req.task.TaskTreeExportExcelFormat;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.project.model.bo.ModifyProjectNode;
|
||||
import com.sdm.project.model.req.*;
|
||||
import com.sdm.project.model.resp.WorkspaceReportListResp;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -41,4 +43,6 @@ public interface IProjectService {
|
||||
|
||||
void editTaskList(List<TaskEditNodeReq> taskEditNodeReqList);
|
||||
|
||||
SdmResponse<PageDataResp<List<WorkspaceReportListResp>>> getWorkspaceReportList(WorkspaceReportListReq req);
|
||||
|
||||
}
|
||||
|
||||
@@ -532,6 +532,8 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
// }
|
||||
req.setCreator(usernameToUserIdMap.get(todo.getIntroduceBy()));
|
||||
req.setTenantId(tenantId);
|
||||
// 20260318 需求的描述也要拉取
|
||||
req.setDescription(todo.getDescribes());
|
||||
|
||||
|
||||
// 补充项目/阶段/工位ID
|
||||
@@ -1620,10 +1622,13 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
Integer pushType = req.getPushType();
|
||||
if (pushType == 1) {
|
||||
uploadFileReq.setComponentInstId(LyricParamConstants.FINITE_ELEMENT_COMPONENT_INST_ID);
|
||||
uploadFileReq.setColumnName(LyricParamConstants.FINITE_ELEMENT_COLUMN_NAME);
|
||||
}else if (pushType == 2) {
|
||||
uploadFileReq.setComponentInstId(LyricParamConstants.ROBOT_COMPONENT_INST_ID);
|
||||
uploadFileReq.setColumnName(LyricParamConstants.ROBOT_COLUMN_NAME);
|
||||
}else {
|
||||
uploadFileReq.setComponentInstId(LyricParamConstants.TOLERANCE_COMPONENT_INST_ID);
|
||||
uploadFileReq.setColumnName(LyricParamConstants.TOLERANCE_COLUMN_NAME);
|
||||
}
|
||||
uploadFileReq.setWaterMarkFlag(false);
|
||||
uploadFileReq.setWaterMarkContent(LyricParamConstants.SYSTEM_CODE);
|
||||
@@ -1631,7 +1636,6 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
uploadFileReq.setSysId(LyricParamConstants.SYSTEM_ID);
|
||||
uploadFileReq.setFormId(LyricParamConstants.FORM_ID);
|
||||
uploadFileReq.setTableName(LyricParamConstants.TABLE_NAME);
|
||||
uploadFileReq.setColumnName(LyricParamConstants.COLUMN_NAME);
|
||||
uploadFileReq.setXmh(req.getProjectCode());
|
||||
uploadFileReq.setGwh(req.getWorkspaceCode());
|
||||
uploadFileReq.setFiles(Collections.singletonList(zipFilePath));
|
||||
|
||||
@@ -3,7 +3,9 @@ package com.sdm.project.service.impl;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.sdm.common.common.ResultCode;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
@@ -18,10 +20,13 @@ import com.sdm.common.entity.req.task.TaskTreeExportExcelFormat;
|
||||
import com.sdm.common.entity.req.task.TaskTreeExportExcelParam;
|
||||
import com.sdm.common.entity.resp.capability.FlowTemplateResp;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.entity.resp.data.SimulationTaskResultCurveResp;
|
||||
import com.sdm.common.entity.resp.project.SpdmTaskVo;
|
||||
import com.sdm.common.entity.resp.project.TaskNodeExtraPo;
|
||||
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.system.ApproveFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.system.MessageFeignClientImpl;
|
||||
@@ -32,6 +37,7 @@ import com.sdm.common.log.constants.OperateTypeConstants;
|
||||
import com.sdm.common.log.dto.SysLogDTO;
|
||||
import com.sdm.common.service.BaseService;
|
||||
import com.sdm.common.service.TagMapService;
|
||||
import com.sdm.common.utils.PageUtils;
|
||||
import com.sdm.common.utils.RandomUtil;
|
||||
import com.sdm.common.utils.SystemOperate;
|
||||
import com.sdm.common.utils.excel.ExcelUtil;
|
||||
@@ -47,6 +53,7 @@ import com.sdm.project.model.bo.*;
|
||||
import com.sdm.project.model.entity.*;
|
||||
import com.sdm.project.model.po.*;
|
||||
import com.sdm.project.model.req.*;
|
||||
import com.sdm.project.model.resp.WorkspaceReportListResp;
|
||||
import com.sdm.project.model.vo.SpdmNodeExtraVo;
|
||||
import com.sdm.project.model.vo.SpdmNodeMemberVo;
|
||||
import com.sdm.project.model.vo.SpdmNodeVo;
|
||||
@@ -89,6 +96,9 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
@Autowired
|
||||
private DataClientFeignClientImpl dataClientFeignClient;
|
||||
|
||||
@Autowired
|
||||
private DataAnalysisFeignClientImpl dataAnalysisFeignClient;
|
||||
|
||||
@Autowired
|
||||
private ISimulationTaskMemberService simulationTaskMemberService;
|
||||
|
||||
@@ -2763,6 +2773,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
|
||||
@Override
|
||||
public SdmResponse modifyWithApprove(ModifyProjectNode req) {
|
||||
log.info("modifyWithApprove executing");
|
||||
Long tenantId = ThreadLocalContext.getTenantId();
|
||||
Long userId = ThreadLocalContext.getUserId();
|
||||
// 如果需要评审 发起评审
|
||||
@@ -2780,7 +2791,9 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
// 不需要评审 直接升版 or 不升
|
||||
// 构造查询任务树的入参
|
||||
ProjectTreeTagReq getTaskTreeReq = req.getTaskTreeReq;
|
||||
log.info("获取修改前的任务树开始");
|
||||
SdmResponse beforeTreeResp = getTaskTree(getTaskTreeReq);
|
||||
log.info("获取修改前的任务树结束");
|
||||
// 获取修改前的任务树
|
||||
String beforeContents = null;
|
||||
if (beforeTreeResp.getData() != null) {
|
||||
@@ -2788,12 +2801,16 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
}
|
||||
|
||||
// 修改当前策划版本
|
||||
log.info("修改当前策划版本开始");
|
||||
SdmResponse response = modify(req);
|
||||
log.info("修改当前策划版本结束");
|
||||
if (!response.isSuccess()) {
|
||||
return response;
|
||||
} else {
|
||||
// 获取修改过后的任务树
|
||||
log.info("获取修改过后的任务树开始");
|
||||
SdmResponse treeRespond = getTaskTree(getTaskTreeReq);
|
||||
log.info("获取修改过后的任务树结束");
|
||||
if (treeRespond.getData() != null) {
|
||||
String viewContents = JSONObject.toJSONString(treeRespond.getData());
|
||||
List<SimulationDesignVersions> designVersions = simulationDesignVersionsService.lambdaQuery()
|
||||
@@ -3684,4 +3701,92 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
return SdmResponse.success(versions);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<PageDataResp<List<WorkspaceReportListResp>>> getWorkspaceReportList(WorkspaceReportListReq req) {
|
||||
log.info("查询工位报告列表,参数:{}", req);
|
||||
|
||||
// 1. 从tagMap中找到key为workspace的配置,获取对应的tag字段名
|
||||
String workspaceTagField = req.getTagMap().stream()
|
||||
.filter(tag -> "workspace".equals(tag.getKey()))
|
||||
.map(TaskNodeTag::getValue)
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
// 2. 查询simulation_task,根据workspaceTagField字段等于workspaceId查询任务列表
|
||||
List<SimulationTask> taskList = taskMapper.selectList(
|
||||
new QueryWrapper<SimulationTask>().eq(workspaceTagField, req.getWorkspaceId())
|
||||
);
|
||||
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
log.info("未查询到工位{}下的任务", req.getWorkspaceId());
|
||||
return SdmResponse.success(new PageDataResp<>());
|
||||
}
|
||||
|
||||
// 3. 构建任务uuid到任务信息的映射
|
||||
Map<String, SimulationTask> taskMap = taskList.stream()
|
||||
.collect(Collectors.toMap(SimulationTask::getUuid, t -> t));
|
||||
|
||||
// 4. 拼接所有任务uuid,批量调用data服务查询报告文件
|
||||
String taskIds = String.join(",", taskMap.keySet());
|
||||
List<WorkspaceReportListResp> allReports = new ArrayList<>();
|
||||
|
||||
try {
|
||||
GetSimulationTaskFileReq fileReq = new GetSimulationTaskFileReq();
|
||||
fileReq.setUuid(taskIds); // 逗号分隔的多个任务id
|
||||
fileReq.setCurrent(1);
|
||||
fileReq.setSize(taskList.size() * 1000); // 设置足够大的分页
|
||||
fileReq.setFileTypeDictClass(FileDictTagEnum.FILE_TYPE.getDictClass());
|
||||
fileReq.setFileTypeDictValue(String.valueOf(FileBizTypeEnum.REPORT_FILE.getValue()));
|
||||
fileReq.setDictTags(Arrays.asList(FileDictTagEnum.FILE_TYPE.getDictClassFieldName(), FileDictTagEnum.FILE_TYPE.getDictValueFieldName()));
|
||||
|
||||
TagReq tagReq = new TagReq();
|
||||
tagReq.setTaskId(taskIds); // 逗号分隔的多个任务id
|
||||
fileReq.setTagReq(tagReq);
|
||||
|
||||
SdmResponse<PageDataResp<List<SimulationTaskResultCurveResp>>> response = dataAnalysisFeignClient.getSimulationTaskFile(fileReq);
|
||||
if (response != null && response.isSuccess() && response.getData() != null) {
|
||||
List<SimulationTaskResultCurveResp> files = response.getData().getData();
|
||||
if (CollectionUtils.isNotEmpty(files)) {
|
||||
for (SimulationTaskResultCurveResp file : files) {
|
||||
// 从tagReq中获取文件所属的任务id
|
||||
String taskUuid = file.getTagReq() != null ? file.getTagReq().getTaskId() : null;
|
||||
SimulationTask task = taskMap.get(taskUuid);
|
||||
if (task != null) {
|
||||
WorkspaceReportListResp reportResp = new WorkspaceReportListResp();
|
||||
reportResp.setFileId(file.getId());
|
||||
reportResp.setOriginalName(file.getOriginalName());
|
||||
reportResp.setFormatFileSize(file.getFormatFileSize());
|
||||
reportResp.setCreateTime(file.getCreateTime());
|
||||
reportResp.setTaskName(task.getTaskName());
|
||||
reportResp.setTaskUuid(task.getUuid());
|
||||
reportResp.setApprovalStatus(String.valueOf(task.getApprovalStatus()));
|
||||
reportResp.setCreator(file.getCreatorId());
|
||||
allReports.add(reportResp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("批量查询工位{}的报告文件失败", req.getWorkspaceId(), e);
|
||||
}
|
||||
|
||||
// 5. 分页处理
|
||||
int total = allReports.size();
|
||||
int fromIndex = (req.getCurrent() - 1) * req.getSize();
|
||||
int toIndex = Math.min(fromIndex + req.getSize(), total);
|
||||
|
||||
List<WorkspaceReportListResp> pagedList;
|
||||
if (fromIndex >= total) {
|
||||
pagedList = new ArrayList<>();
|
||||
} else {
|
||||
pagedList = allReports.subList(fromIndex, toIndex);
|
||||
}
|
||||
|
||||
PageInfo<WorkspaceReportListResp> pageInfo = new PageInfo<>(pagedList);
|
||||
pageInfo.setTotal(allReports.size());
|
||||
pageInfo.setPageNum(req.getCurrent());
|
||||
pageInfo.setPageSize(req.getSize());
|
||||
|
||||
return PageUtils.getJsonObjectSdmResponse(pagedList, pageInfo);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ 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.service.DataFileService;
|
||||
import com.sdm.common.service.FileBizTypeService;
|
||||
import com.sdm.common.utils.CommonUtils;
|
||||
import com.sdm.common.utils.PageUtils;
|
||||
import com.sdm.common.utils.RandomUtil;
|
||||
@@ -123,6 +124,9 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
@Autowired
|
||||
private ISimulationExpResultService simulationExpResultService;
|
||||
|
||||
@Autowired
|
||||
FileBizTypeService fileBizTypeService;
|
||||
|
||||
@Autowired
|
||||
SysUserFeignClientImpl sysUserFeignClient;
|
||||
|
||||
@@ -1371,7 +1375,6 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
// 审批通过 设置任务进度为100,状态关闭
|
||||
if (NumberConstants.TWO == approveStatus) {
|
||||
simulationTask.setProgress(100);
|
||||
simulationTask.setExeStatus(TaskExeStatusEnum.CLOSED.getCode());
|
||||
simulationTask.setApprovalStatus(ApprovalStatusEnum.PASSED.getCode());
|
||||
simulationTask.setExeStatus(TaskExeStatusEnum.COMPLETED.getCode());
|
||||
simulationTaskService.updateById(simulationTask);
|
||||
@@ -2812,7 +2815,7 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
CopyFileToTaskReq copyFileToTaskReq = new CopyFileToTaskReq();
|
||||
copyFileToTaskReq.setSourceFileId(fileId);
|
||||
|
||||
Long parentDirId = getParentDirId(simulationRun.getTaskId(), FileBizTypeEnum.getDirNameByValue(req.getFileType()));
|
||||
Long parentDirId = getParentDirId(simulationRun.getTaskId(), fileBizTypeService.getFileName(String.valueOf(req.getFileType())));
|
||||
copyFileToTaskReq.setParentDirId(parentDirId);
|
||||
SdmResponse response = dataFeignClient.copyFileToTask(copyFileToTaskReq);
|
||||
if (!response.isSuccess()) {
|
||||
@@ -2942,7 +2945,7 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
@Override
|
||||
public SdmResponse<List<BatchAddFileInfoResp>> batchAddFileInfoForTask(UploadFilesReq req) {
|
||||
// 3D模型、计算模型、图片文件、曲线文件、仿真报告 获取文件夹名
|
||||
String dirName = FileBizTypeEnum.getDirNameByValue(req.getFileType());
|
||||
String dirName = fileBizTypeService.getFileName(String.valueOf(req.getFileType()));
|
||||
// 获取文件夹id
|
||||
Long parentId = getParentDirId(req.getUuid(), dirName);
|
||||
req.setDirId(parentId);
|
||||
|
||||
@@ -138,6 +138,9 @@ public class SimulationWorkServiceImpl extends ServiceImpl<SimulationWorkMapper,
|
||||
log.warn("新增报工失败,任务ID为空,请求参数:{}", req);
|
||||
return SdmResponse.failed("任务ID不能为空");
|
||||
}
|
||||
if (ObjectUtils.isEmpty(req.getOwner())) {
|
||||
return SdmResponse.failed("负责人不能为空");
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
@@ -182,7 +185,7 @@ public class SimulationWorkServiceImpl extends ServiceImpl<SimulationWorkMapper,
|
||||
/**
|
||||
* 类型0:更新开始时间
|
||||
*/
|
||||
private boolean updateStartWork(Long workId, String curDateStr, SpdmWorkReq req) {
|
||||
private SdmResponse updateStartWork(Long workId, String curDateStr, SpdmWorkReq req) {
|
||||
// 启动报告 调用EP创建任务接口
|
||||
// 批次
|
||||
|
||||
@@ -223,9 +226,15 @@ public class SimulationWorkServiceImpl extends ServiceImpl<SimulationWorkMapper,
|
||||
|
||||
// 计划开始时间
|
||||
simulationWork.getPlanBeginTime();
|
||||
if (ObjectUtils.isEmpty(simulationWork.getPlanBeginTime())) {
|
||||
return SdmResponse.failed("计划开始时间不能为空");
|
||||
}
|
||||
|
||||
// 计划完成时间
|
||||
simulationWork.getPlanFinishTime();
|
||||
if (ObjectUtils.isEmpty(simulationWork.getPlanFinishTime())) {
|
||||
return SdmResponse.failed("计划完成时间不能为空");
|
||||
}
|
||||
|
||||
// 实际开始时间
|
||||
|
||||
@@ -233,6 +242,9 @@ public class SimulationWorkServiceImpl extends ServiceImpl<SimulationWorkMapper,
|
||||
|
||||
// 计划工时
|
||||
simulationWork.getPlanWorkHour();
|
||||
if (ObjectUtils.isEmpty(simulationWork.getPlanWorkHour())) {
|
||||
return SdmResponse.failed("计划工时不能为空");
|
||||
}
|
||||
|
||||
// 标准工时
|
||||
simulationWork.getPlanWorkHour();
|
||||
@@ -262,27 +274,36 @@ public class SimulationWorkServiceImpl extends ServiceImpl<SimulationWorkMapper,
|
||||
}
|
||||
|
||||
|
||||
|
||||
return this.lambdaUpdate()
|
||||
boolean updateFlag = this.lambdaUpdate()
|
||||
.set(SimulationWork::getBeginTime, curDateStr)
|
||||
.eq(SimulationWork::getId, workId)
|
||||
.update();
|
||||
if (updateFlag) {
|
||||
return SdmResponse.success();
|
||||
} else {
|
||||
return SdmResponse.failed("启动报工失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 类型1:更新完成时间
|
||||
*/
|
||||
private boolean updateFinishWork(Long workId, String curDateStr) {
|
||||
return this.lambdaUpdate()
|
||||
private SdmResponse updateFinishWork(Long workId, String curDateStr) {
|
||||
boolean updateFlag = this.lambdaUpdate()
|
||||
.set(SimulationWork::getFinishTime, curDateStr)
|
||||
.eq(SimulationWork::getId, workId)
|
||||
.update();
|
||||
if (updateFlag) {
|
||||
return SdmResponse.success();
|
||||
} else {
|
||||
return SdmResponse.failed("完成报工失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 类型2:编辑报工
|
||||
*/
|
||||
private boolean updateEditWork(SpdmWorkReq req, Long workId) {
|
||||
private SdmResponse updateEditWork(SpdmWorkReq req, Long workId) {
|
||||
LambdaUpdateChainWrapper<SimulationWork> updateWrapper = this.lambdaUpdate();
|
||||
Integer actualWorkHour = req.getActualWorkHour();
|
||||
|
||||
@@ -317,7 +338,11 @@ public class SimulationWorkServiceImpl extends ServiceImpl<SimulationWorkMapper,
|
||||
syncTaskProgress(workId, actualProgress, shouldProgress);
|
||||
}
|
||||
|
||||
return updateFlag;
|
||||
if (updateFlag) {
|
||||
return SdmResponse.success();
|
||||
} else {
|
||||
return SdmResponse.failed("编辑报工失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -416,23 +441,23 @@ public class SimulationWorkServiceImpl extends ServiceImpl<SimulationWorkMapper,
|
||||
String curDateStr = DateUtil.formatDateTime(DateUtil.date());
|
||||
|
||||
// 2. 根据不同类型执行更新逻辑
|
||||
boolean updateFlag = false;
|
||||
SdmResponse updateResp = null;
|
||||
switch (type) {
|
||||
case WORK_TYPE_START:
|
||||
updateFlag = updateStartWork(workId, curDateStr, req);
|
||||
updateResp = updateStartWork(workId, curDateStr, req);
|
||||
break;
|
||||
case WORK_TYPE_FINISH:
|
||||
updateFlag = updateFinishWork(workId, curDateStr);
|
||||
updateResp = updateFinishWork(workId, curDateStr);
|
||||
break;
|
||||
case WORK_TYPE_EDIT:
|
||||
updateFlag = updateEditWork(req, workId);
|
||||
updateResp = updateEditWork(req, workId);
|
||||
break;
|
||||
default:
|
||||
updateFlag = false;
|
||||
updateResp = new SdmResponse();
|
||||
}
|
||||
|
||||
// 3. 返回更新结果
|
||||
return updateFlag ? SdmResponse.success() : SdmResponse.failed("更新报工信息失败");
|
||||
return updateResp;
|
||||
}
|
||||
|
||||
|
||||
@@ -485,35 +510,35 @@ public class SimulationWorkServiceImpl extends ServiceImpl<SimulationWorkMapper,
|
||||
|
||||
// 判断是否传了taskId
|
||||
if (StringUtils.isNotBlank(req.getTaskId())) {
|
||||
// 传了taskId,按原逻辑查询
|
||||
// 传了taskId,查询该任务下当前用户是创建人或负责人的报工
|
||||
PageHelper.startPage(req.getCurrent(), req.getSize());
|
||||
workList = this.lambdaQuery().eq(SimulationWork::getTaskId, req.getTaskId()).list();
|
||||
if (CollectionUtils.isEmpty(workList)) {
|
||||
PageInfo<SimulationWork> page = new PageInfo<>(workList);
|
||||
return PageUtils.getJsonObjectSdmResponse(workList, page);
|
||||
}
|
||||
// 当前用户需要是报工条目的创建人或负责人
|
||||
workList = workList.stream().filter(work -> userId.equals(work.getOwner()) || userId.equals(work.getCreator())).collect(Collectors.toList());
|
||||
workList = this.lambdaQuery()
|
||||
.eq(SimulationWork::getTaskId, req.getTaskId())
|
||||
.and(wrapper -> wrapper
|
||||
.eq(SimulationWork::getOwner, userId)
|
||||
.or()
|
||||
.eq(SimulationWork::getCreator, userId))
|
||||
.list();
|
||||
} else {
|
||||
// 不传taskId,根据type查询
|
||||
// 不传taskId,根据type查询,将filteredTaskIds条件加入SQL
|
||||
PageHelper.startPage(req.getCurrent(), req.getSize());
|
||||
if (req.getType() != null && req.getType() == 0) {
|
||||
// type=0:查询当前登录人为creator(我确认的)
|
||||
workList = this.lambdaQuery().eq(SimulationWork::getCreator, userId).list();
|
||||
workList = this.lambdaQuery()
|
||||
.eq(SimulationWork::getCreator, userId)
|
||||
.in(filteredTaskIds != null, SimulationWork::getTaskId, filteredTaskIds)
|
||||
.list();
|
||||
} else if (req.getType() != null && req.getType() == 1) {
|
||||
// type=1:查询当前登录人为owner(我执行的)
|
||||
workList = this.lambdaQuery().eq(SimulationWork::getOwner, userId).list();
|
||||
workList = this.lambdaQuery()
|
||||
.eq(SimulationWork::getOwner, userId)
|
||||
.in(filteredTaskIds != null, SimulationWork::getTaskId, filteredTaskIds)
|
||||
.list();
|
||||
} else {
|
||||
// type为空或其他值,查询全部
|
||||
workList = this.lambdaQuery().list();
|
||||
}
|
||||
|
||||
// 如果有筛选条件,过滤workList
|
||||
if (filteredTaskIds != null && CollectionUtils.isNotEmpty(workList)) {
|
||||
List<String> finalFilteredTaskIds = filteredTaskIds;
|
||||
workList = workList.stream()
|
||||
.filter(work -> finalFilteredTaskIds.contains(work.getTaskId()))
|
||||
.collect(Collectors.toList());
|
||||
// type为空或其他值,查询全部(需要带taskId筛选)
|
||||
workList = this.lambdaQuery()
|
||||
.in(filteredTaskIds != null, SimulationWork::getTaskId, filteredTaskIds)
|
||||
.list();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1177,6 +1177,10 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}
|
||||
StopWatch stopWatch = new StopWatch("所有任务方法计时");
|
||||
stopWatch.start("查所有任务");
|
||||
// 二次查询过滤学科
|
||||
if (StringUtils.isNotBlank(req.getDiscipline())) {
|
||||
req.setFilterDiscipline(Collections.singletonList(req.getDiscipline()));
|
||||
}
|
||||
List<SpdmTaskVo> allTaskList = mapper.optimisedGtTaskList(tenantId, req);
|
||||
stopWatch.stop();
|
||||
JSONObject jsonObject = buildEmptyJsonResp(req);
|
||||
@@ -1286,32 +1290,37 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}
|
||||
|
||||
// 通用的标签设置方法
|
||||
private void setTagField(TagReq tagReq, String tagValue, String tagName,
|
||||
private void setTagField(TagReq tagReq, String tagValue, String tagName,String tagCode,
|
||||
BiConsumer<TagReq, String> tagSetter,
|
||||
BiConsumer<TagReq, String> tagNameSetter) {
|
||||
BiConsumer<TagReq, String> tagNameSetter,
|
||||
BiConsumer<TagReq, String> tagCodeSetter) {
|
||||
if (tagValue != null) {
|
||||
tagSetter.accept(tagReq, tagValue);
|
||||
}
|
||||
if (tagName != null) {
|
||||
tagNameSetter.accept(tagReq, tagName);
|
||||
}
|
||||
if (tagCode != null) {
|
||||
tagCodeSetter.accept(tagReq, tagCode);
|
||||
}
|
||||
}
|
||||
|
||||
private void fillTaskTagReq(List<SpdmNewTaskVo> newTaskList) {
|
||||
for (SpdmNewTaskVo spdmNewTaskVo : newTaskList) {
|
||||
TagReq tagReq = new TagReq();
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag1(), spdmNewTaskVo.getTag1(), TagReq::setTag1, TagReq::setTag1Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag2(), spdmNewTaskVo.getTag2(), TagReq::setTag2, TagReq::setTag2Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag3(), spdmNewTaskVo.getTag3(), TagReq::setTag3, TagReq::setTag3Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag4(), spdmNewTaskVo.getTag4(), TagReq::setTag4, TagReq::setTag4Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag5(), spdmNewTaskVo.getTag5(), TagReq::setTag5, TagReq::setTag5Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag6(), spdmNewTaskVo.getTag6(), TagReq::setTag6, TagReq::setTag6Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag7(), spdmNewTaskVo.getTag7(), TagReq::setTag7, TagReq::setTag7Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag8(), spdmNewTaskVo.getTag8(), TagReq::setTag8, TagReq::setTag8Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag9(), spdmNewTaskVo.getTag9(), TagReq::setTag9, TagReq::setTag9Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag10(), spdmNewTaskVo.getTag10(), TagReq::setTag10, TagReq::setTag10Name);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag1(), spdmNewTaskVo.getTag1(),spdmNewTaskVo.getTag1Code(), TagReq::setTag1, TagReq::setTag1Name, TagReq::setTag1Code);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag2(), spdmNewTaskVo.getTag2(), spdmNewTaskVo.getTag2Code(),TagReq::setTag2, TagReq::setTag2Name, TagReq::setTag2Code);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag3(), spdmNewTaskVo.getTag3(), spdmNewTaskVo.getTag3Code(),TagReq::setTag3, TagReq::setTag3Name, TagReq::setTag3Code);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag4(), spdmNewTaskVo.getTag4(), spdmNewTaskVo.getTag4Code(),TagReq::setTag4, TagReq::setTag4Name, TagReq::setTag4Code);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag5(), spdmNewTaskVo.getTag5(), spdmNewTaskVo.getTag5Code(),TagReq::setTag5, TagReq::setTag5Name, TagReq::setTag5Code);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag6(), spdmNewTaskVo.getTag6(), spdmNewTaskVo.getTag6Code(),TagReq::setTag6, TagReq::setTag6Name, TagReq::setTag6Code);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag7(), spdmNewTaskVo.getTag7(), spdmNewTaskVo.getTag7Code(),TagReq::setTag7, TagReq::setTag7Name, TagReq::setTag7Code);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag8(), spdmNewTaskVo.getTag8(), spdmNewTaskVo.getTag8Code(),TagReq::setTag8, TagReq::setTag8Name,TagReq::setTag8Code);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag9(), spdmNewTaskVo.getTag9(), spdmNewTaskVo.getTag9Code(),TagReq::setTag9, TagReq::setTag9Name, TagReq::setTag9Code);
|
||||
setTagField(tagReq, spdmNewTaskVo.getNewTag10(), spdmNewTaskVo.getTag10(), spdmNewTaskVo.getTag10Code(),TagReq::setTag10, TagReq::setTag10Name, TagReq::setTag10Code);
|
||||
tagReq.setTaskId(spdmNewTaskVo.getUuid());
|
||||
tagReq.setTaskName(spdmNewTaskVo.getTaskName());
|
||||
tagReq.setTaskCode(spdmNewTaskVo.getTaskCode());
|
||||
spdmNewTaskVo.setTagReq(tagReq);
|
||||
}
|
||||
}
|
||||
@@ -2589,7 +2598,9 @@ public class TaskServiceImpl implements ITaskService {
|
||||
if (ObjectUtils.isEmpty(eachTaskVo)) {
|
||||
continue;
|
||||
}
|
||||
TagReq taskTagReq = eachTaskVo.getTagReq();
|
||||
// 创建新的TagReq对象,避免多个taskRunPo共享同一个引用导致数据被覆盖
|
||||
TagReq taskTagReq = new TagReq();
|
||||
BeanUtils.copyProperties(eachTaskVo.getTagReq(), taskTagReq);
|
||||
taskTagReq.setRunId(taskRunPo.getUuid());
|
||||
taskTagReq.setRunName(taskRunPo.getRunName());
|
||||
taskRunPo.setTagReq(taskTagReq);
|
||||
@@ -3164,6 +3175,11 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}
|
||||
}
|
||||
}
|
||||
// 设置扩展信息
|
||||
List<TaskNodeExtraPo> taskExtraList = mapper.getTaskExtraList(Collections.singletonList(taskVo.getUuid()));
|
||||
if (CollectionUtils.isNotEmpty(taskExtraList)) {
|
||||
taskVo.setExtras(taskExtraList);
|
||||
}
|
||||
return SdmResponse.success(taskVo);
|
||||
}
|
||||
|
||||
@@ -4995,6 +5011,7 @@ public class TaskServiceImpl implements ITaskService {
|
||||
if (MapUtils.isEmpty(tagMap)) {
|
||||
return SdmResponse.failed("未查询到节点标签的配置");
|
||||
}
|
||||
Integer resultType = req.getResultType();
|
||||
List<NodeMergeQueryResp> mergeQueryRespList = new ArrayList<>();
|
||||
// 如果是任务或算例就传:task或run,其他的传tag1到tag10
|
||||
String type = req.getType();
|
||||
@@ -5018,7 +5035,12 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}
|
||||
if (MERGE_QUERY_TASK.equals(type)) {
|
||||
// 查询任务
|
||||
Map<String, List<SpdmNewTaskVo>> taskMap = taskVoList.stream().collect(Collectors.groupingBy(SpdmNewTaskVo::getTaskName));
|
||||
Map<String, List<SpdmNewTaskVo>> taskMap;
|
||||
if (resultType == 1) {
|
||||
taskMap = taskVoList.stream().collect(Collectors.groupingBy(SpdmNewTaskVo::getTaskName));
|
||||
}else {
|
||||
taskMap = taskVoList.stream().collect(Collectors.groupingBy(SpdmNewTaskVo::getTaskCode));
|
||||
}
|
||||
for (Map.Entry<String, List<SpdmNewTaskVo>> taskEntry : taskMap.entrySet()) {
|
||||
NodeMergeQueryResp taskMergeQueryResp = new NodeMergeQueryResp();
|
||||
taskMergeQueryResp.setName(taskEntry.getKey());
|
||||
@@ -5052,7 +5074,12 @@ public class TaskServiceImpl implements ITaskService {
|
||||
if (CollectionUtils.isEmpty(nodeList)) {
|
||||
return SdmResponse.success(Collections.emptyList());
|
||||
}
|
||||
Map<String, List<SimulationNode>> nodeMap = nodeList.stream().collect(Collectors.groupingBy(SimulationNode::getNodeName));
|
||||
Map<String, List<SimulationNode>> nodeMap;
|
||||
if (resultType == 1) {
|
||||
nodeMap = nodeList.stream().filter(node -> StringUtils.isNotBlank(node.getNodeName())).collect(Collectors.groupingBy(SimulationNode::getNodeName));
|
||||
}else {
|
||||
nodeMap = nodeList.stream().filter(node -> StringUtils.isNotBlank(node.getNodeCode())).collect(Collectors.groupingBy(SimulationNode::getNodeCode));
|
||||
}
|
||||
for (Map.Entry<String, List<SimulationNode>> nodeEntry : nodeMap.entrySet()) {
|
||||
NodeMergeQueryResp nodeMergeQueryResp = new NodeMergeQueryResp();
|
||||
nodeMergeQueryResp.setName(nodeEntry.getKey());
|
||||
|
||||
@@ -187,6 +187,10 @@
|
||||
sectionName = #{taskNode.section},
|
||||
</if>
|
||||
|
||||
<if test="taskNode.group != null and taskNode.group != ''">
|
||||
groupName = #{taskNode.group},
|
||||
</if>
|
||||
|
||||
|
||||
<if test="taskNode.bCapacity != null and taskNode.bCapacity != ''">
|
||||
bCapacity = #{taskNode.bCapacity},
|
||||
|
||||
Reference in New Issue
Block a user