Merge branch 'main' of http://carsafe.uicp.cn/toolchaintechnologycenter/spdm-backend
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package com.sdm.capability.model.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.sdm.capability.model.entity.SimulationFlowTaskBindInfo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@@ -89,5 +91,11 @@ public class ReportTemplateDto {
|
||||
|
||||
@Schema(description = "是否复制模板 Y/N")
|
||||
private String copyFlag;
|
||||
|
||||
|
||||
@Schema(description = "绑定的工况库信息")
|
||||
public List<SimulationFlowTaskBindInfo> simulationPoolInfoList = new ArrayList();
|
||||
|
||||
@Schema(description = "绑定的工况库信息JSON字符串")
|
||||
public String simulationPoolInfoListStr;
|
||||
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@@ -94,4 +96,9 @@ public class SimulationReportTemplate implements Serializable {
|
||||
@TableField("updater")
|
||||
private Long updater;
|
||||
|
||||
// ========== 新增非数据库字段 ==========
|
||||
@ApiModelProperty(value = "绑定的工况库信息")
|
||||
@TableField(exist = false)
|
||||
private List<SimulationFlowTaskBindInfo> simulationPoolInfoList = new ArrayList<>();
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sdm.capability.dao.SimulationReportTemplateMapper;
|
||||
import com.sdm.capability.model.dto.ReportTemplateDto;
|
||||
import com.sdm.capability.model.entity.SimulationFlowTaskBindInfo;
|
||||
import com.sdm.capability.model.entity.SimulationFlowTemplate;
|
||||
import com.sdm.capability.model.entity.SimulationReportTemplate;
|
||||
import com.sdm.capability.service.ISimulationReportTemplateService;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
@@ -16,15 +18,19 @@ import com.sdm.common.entity.constants.CommonConstants;
|
||||
import com.sdm.common.entity.constants.NumberConstants;
|
||||
import com.sdm.common.entity.enums.ApproveStatusEnum;
|
||||
import com.sdm.common.entity.enums.ApproveTypeEnum;
|
||||
import com.sdm.common.entity.pojo.task.FlowBindTaskPoolItem;
|
||||
import com.sdm.common.entity.pojo.task.TaskBaseInfo;
|
||||
import com.sdm.common.entity.req.data.DelFileReq;
|
||||
import com.sdm.common.entity.req.data.GetFileBaseInfoReq;
|
||||
import com.sdm.common.entity.req.data.UpdateScriptAndReportReq;
|
||||
import com.sdm.common.entity.req.data.UploadFilesReq;
|
||||
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
||||
import com.sdm.common.entity.req.task.BindTaskAndFlowTemplateReq;
|
||||
import com.sdm.common.entity.resp.capability.ReportTemplateResp;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
import com.sdm.common.feign.impl.data.DataClientFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.system.ApproveFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.task.SimuluationTaskPoolFeignClientImpl;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -49,6 +55,9 @@ public class SimulationReportTemplateServiceImpl extends ServiceImpl<SimulationR
|
||||
@Autowired
|
||||
private ApproveFeignClientImpl approveFeignClient;
|
||||
|
||||
@Autowired
|
||||
private SimuluationTaskPoolFeignClientImpl simuluationTaskPoolFeignClient;
|
||||
|
||||
@Override
|
||||
public SdmResponse createReportTemplate(ReportTemplateDto templateDto) {
|
||||
SimulationReportTemplate reportTemplate = new SimulationReportTemplate();
|
||||
@@ -87,9 +96,49 @@ public class SimulationReportTemplateServiceImpl extends ServiceImpl<SimulationR
|
||||
}
|
||||
reportTemplate.setFileId(response.getData());
|
||||
this.save(reportTemplate);
|
||||
// 解析工况库信息JSON字符串
|
||||
if (StringUtils.isNotBlank(templateDto.getSimulationPoolInfoListStr())) {
|
||||
List<SimulationFlowTaskBindInfo> simulationPoolInfoList = JSON.parseArray(templateDto.getSimulationPoolInfoListStr(), SimulationFlowTaskBindInfo.class);
|
||||
// 绑定工况
|
||||
bindReportTemplateAndTask(reportTemplate.getTemplateCode(), simulationPoolInfoList);
|
||||
}
|
||||
return SdmResponse.success(reportTemplate.getUuid());
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定报告模版与分析库中的分析项
|
||||
* @param reportCode
|
||||
* @param simulationPoolInfoList
|
||||
*/
|
||||
private void bindReportTemplateAndTask(String reportCode, List<SimulationFlowTaskBindInfo> simulationPoolInfoList)
|
||||
{
|
||||
if(simulationPoolInfoList == null || simulationPoolInfoList.isEmpty())
|
||||
return;
|
||||
BindTaskAndFlowTemplateReq req = new BindTaskAndFlowTemplateReq();
|
||||
req.flowCode = reportCode;
|
||||
req.bindTaskkPoolItem = new ArrayList<>();
|
||||
for(SimulationFlowTaskBindInfo bindInfo : simulationPoolInfoList)
|
||||
{
|
||||
FlowBindTaskPoolItem bindTaskPoolItem = new FlowBindTaskPoolItem();
|
||||
bindTaskPoolItem.flowCode = reportCode;
|
||||
bindTaskPoolItem.poolName = bindInfo.simulationPoolName;
|
||||
bindTaskPoolItem.poolId = bindInfo.simulationPoolId;
|
||||
bindTaskPoolItem.version = bindInfo.simulationPoolVersion;
|
||||
for(String taskId : bindInfo.simulationPoolTaskIds)
|
||||
{
|
||||
TaskBaseInfo taskBaseInfo = new TaskBaseInfo();
|
||||
taskBaseInfo.poolName = bindInfo.simulationPoolName;
|
||||
taskBaseInfo.version = bindInfo.simulationPoolVersion;
|
||||
taskBaseInfo.type = 1;
|
||||
taskBaseInfo.uuid = taskId;
|
||||
bindTaskPoolItem.taskList.add(taskBaseInfo);
|
||||
}
|
||||
req.bindTaskkPoolItem.add(bindTaskPoolItem);
|
||||
}
|
||||
|
||||
simuluationTaskPoolFeignClient.updateTaskAndFlowTemplate(req);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse upgradeReportTemplate(ReportTemplateDto templateDto) {
|
||||
Long tenantId = ThreadLocalContext.getTenantId();
|
||||
@@ -249,6 +298,31 @@ public class SimulationReportTemplateServiceImpl extends ServiceImpl<SimulationR
|
||||
queryTemplate = latestVersions.subList(beginPos,latestVersions.size());
|
||||
}
|
||||
}
|
||||
|
||||
for(SimulationReportTemplate reportTemplate : queryTemplate)
|
||||
{
|
||||
SdmResponse bindResponse = simuluationTaskPoolFeignClient.getFlowTemplateBindTaskRelate(reportTemplate.getTemplateCode());
|
||||
if(bindResponse.isSuccess())
|
||||
{
|
||||
List<FlowBindTaskPoolItem> flowBindTaskPoolItems = (List<FlowBindTaskPoolItem>)bindResponse.getData();
|
||||
for(FlowBindTaskPoolItem flowBindTaskPoolItem : flowBindTaskPoolItems)
|
||||
{
|
||||
SimulationFlowTaskBindInfo flowTaskBindInfo = new SimulationFlowTaskBindInfo();
|
||||
flowTaskBindInfo.simulationPoolName = flowBindTaskPoolItem.poolName;
|
||||
flowTaskBindInfo.simulationPoolId = flowBindTaskPoolItem.poolId;
|
||||
flowTaskBindInfo.simulationPoolVersion = flowBindTaskPoolItem.version;
|
||||
flowTaskBindInfo.taskBaseInfoList = flowBindTaskPoolItem.taskList;
|
||||
List<String> taskIds = new ArrayList<>();
|
||||
for(TaskBaseInfo taskBaseInfo : flowBindTaskPoolItem.taskList)
|
||||
{
|
||||
taskIds.add(taskBaseInfo.uuid);
|
||||
}
|
||||
flowTaskBindInfo.simulationPoolTaskIds = taskIds;
|
||||
reportTemplate.getSimulationPoolInfoList().add(flowTaskBindInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DataPageInfo<List<SimulationReportTemplate>> pageInfo = new DataPageInfo<>();
|
||||
pageInfo.data = queryTemplate;
|
||||
pageInfo.total = total;
|
||||
|
||||
@@ -20,4 +20,6 @@ public class TaskBaseInfo {
|
||||
|
||||
public Long fileId;
|
||||
|
||||
public Integer type;
|
||||
|
||||
}
|
||||
|
||||
@@ -80,9 +80,8 @@ public class SystemLogController implements ISysLogFeignClient {
|
||||
* @param createTimeArr 时间数组 [startDate, endDate],格式:yyyy-MM-dd
|
||||
* @return 每日操作统计列表
|
||||
*/
|
||||
@GetMapping("/getDailyOperateStatistics")
|
||||
public SdmResponse<List<DailyOperateStatsResp>> getDailyOperateStatistics(
|
||||
@RequestParam("createTimeArr") @NotNull(message = "时间不能为空") String[] createTimeArr) {
|
||||
return logService.getDailyOperateStatistics(createTimeArr);
|
||||
@PostMapping("/getDailyOperateStatistics")
|
||||
public SdmResponse<List<DailyOperateStatsResp>> getDailyOperateStatistics(@RequestBody SysLogDTO sysLog) {
|
||||
return logService.getDailyOperateStatistics(sysLog.getCreateTimeArr());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,9 +229,9 @@ public interface SimulationPoolMapper {
|
||||
|
||||
@Insert({
|
||||
"<script>",
|
||||
"INSERT INTO simulation_taskpool_flowtemplate_relate(poolName,version,taskUuid,flowCode,poolId) VALUES ",
|
||||
"INSERT INTO simulation_taskpool_flowtemplate_relate(poolName,version,taskUuid,flowCode,poolId,type) VALUES ",
|
||||
"<foreach collection ='list' item='it' index='index' separator =','>",
|
||||
"(#{it.poolName},#{it.version},#{it.taskUuid},#{it.flowCode},#{it.poolId}) ",
|
||||
"(#{it.poolName},#{it.version},#{it.taskUuid},#{it.flowCode},#{it.poolId},#{it.type}) ",
|
||||
"</foreach>",
|
||||
"</script>"
|
||||
})
|
||||
|
||||
@@ -14,6 +14,8 @@ public class SimulatePoolTaskFlowTemplateRelate {
|
||||
|
||||
public String flowCode;
|
||||
|
||||
public Integer type;
|
||||
|
||||
public long tenantId;
|
||||
|
||||
public long creator;
|
||||
|
||||
@@ -2297,6 +2297,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
templateRelate.version = taskPoolItem.version;
|
||||
templateRelate.poolId = taskPoolItem.poolId;
|
||||
templateRelate.taskUuid = taskBaseInfo.uuid;
|
||||
templateRelate.type = taskBaseInfo.type;
|
||||
relations.add(templateRelate);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user