fix:数字字典新增筛选条件&复制算例指标bug修改

This commit is contained in:
2026-04-15 16:36:11 +08:00
parent 542fb33e6d
commit 11dcfb4993
7 changed files with 45 additions and 13 deletions

View File

@@ -12,6 +12,9 @@ public class SpdmAddTaskRunReq {
@Schema(description = "算例名称")
private String runName;
@Schema(description = "复制的算例ID")
private String copyRunId;
@Schema(description = "备注")
private String description;

View File

@@ -874,11 +874,24 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
if (!this.save(simulationRun)) {
return SdmResponse.failed("新建算例失败");
} else {
// taskId不为nullrunId为null查询所有工况设定的标准指标
List<SimulationPerformance> simulationTaskPerformances = simulationPerformanceService.lambdaQuery()
.eq(SimulationPerformance::getTaskId, simulationTask.getUuid())
.isNull(SimulationPerformance::getRunId)
.list();
List<SimulationPerformance> simulationTaskPerformances = new ArrayList<>();
// 若传了runId为复制的算例则复制算例下的指标
if (StringUtils.isNotBlank(req.getCopyRunId())) {
simulationTaskPerformances = simulationPerformanceService.lambdaQuery()
.eq(SimulationPerformance::getRunId, req.getCopyRunId())
.list();
} else if (StringUtils.isNotBlank(req.getParentId())) {
// 若传了parentId为子算例也复制算例下的指标
simulationTaskPerformances = simulationPerformanceService.lambdaQuery()
.eq(SimulationPerformance::getRunId, req.getParentId())
.list();
} else {
// taskId不为nullrunId为null查询所有工况设定的标准指标
simulationTaskPerformances = simulationPerformanceService.lambdaQuery()
.eq(SimulationPerformance::getTaskId, simulationTask.getUuid())
.isNull(SimulationPerformance::getRunId)
.list();
}
if (CollectionUtils.isNotEmpty(simulationTaskPerformances)) {
List<SimulationPerformance> runPerformanceList = new ArrayList<>();
for (SimulationPerformance performanceBean : simulationTaskPerformances) {
@@ -1498,6 +1511,7 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
@Override
public SdmResponse deliverableApproveCallback(LaunchApproveReq req) {
log.info("[deliverableApproveCallback] req:{}", JSON.toJSONString(req));
SdmResponse response = SdmResponse.success();
int approveStatus = req.approveStatus;
String approveContent = req.approveContents;
@@ -1862,9 +1876,10 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
throw new RuntimeException(e);
}
String reportName = "report_" +
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) +
".docx";
// 4. 生成报告名称(使用任务名称作为前缀) 最新确认:跟编辑报告的名称一样 可以覆盖
SimulationRun simulationRun = this.lambdaQuery().eq(SimulationRun::getUuid, req.getRunId()).one();
SimulationTask task = simulationTaskService.lambdaQuery().eq(SimulationTask::getUuid, simulationRun.getTaskId()).one();
String reportName = generateReportName(task.getTaskName());
// 构建python命令
List<String> command = new ArrayList<>();

View File

@@ -5252,7 +5252,7 @@ public class TaskServiceImpl implements ITaskService {
DirNodeInfo taskDirNodeInfo = new DirNodeInfo();
taskDirNodeInfo.setUuId(taskId);
taskDirNodeInfo.setUuIdOwnType(NodeTypeEnum.TASK.getValue());
taskDirNodeInfo.setDirName(taskName);
taskDirNodeInfo.setDirName(StringUtils.isNotBlank(taskName) ? taskName : spdmTaskVo.getTaskName());
TagReq taskTagReq = new TagReq();
BeanUtils.copyProperties(spdmTaskVo,taskTagReq);
taskDirNodeInfo.setTagReq(taskTagReq);

View File

@@ -125,10 +125,12 @@ public class SimulationSystemConfigController implements ISysConfigFeignClient {
SdmResponse getDictionaryDefineClass(@RequestParam(required = false) String titleName,
@RequestParam(required = false) String className,
@RequestParam(required = false) String dictName,
@RequestParam(required = false) String dictValue
@RequestParam(required = false) String dictValue,
@RequestParam(required = false) String classType,
@RequestParam(required = false) String comment
,int current,int size)
{
return service.queryDictionaryDefineClass(titleName,className,dictName,dictValue,current,size);
return service.queryDictionaryDefineClass(titleName,className,dictName,dictValue,classType,comment,current,size);
}
@GetMapping(value = "/getDictionaryClassDetail")

View File

@@ -33,7 +33,7 @@ public interface ISimulationSystemConfigService {
SdmResponse deleteDictionaryDefineClass(String uuid);
SdmResponse queryDictionaryDefineClass(String titleName, String className, String dictName, String dictValue, int current, int size);
SdmResponse queryDictionaryDefineClass(String titleName, String className, String dictName, String dictValue, String classType, String comment, int current, int size);
SdmResponse queryDictinaryClassDetail(String uuid);

View File

@@ -3,6 +3,7 @@ package com.sdm.system.service.impl;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -163,12 +164,15 @@ public class ISysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> implem
// 2. 获取所有在目标日期之前登录的用户及其最后登录时间
List<UserLastLoginDto> UserLastLoginDtos = baseMapper.findLastLoginBeforeDate(targetDayEnd, tenantId);
log.info("[getHourlyOnlineUsers] UserLastLoginDtos:{}", JSON.toJSONString(UserLastLoginDtos));
// 3. 获取这些用户在目标日期及之后的退出时间
Map<String, LocalDateTime> userLogoutTimes = getUserNextLogoutTimes(
UserLastLoginDtos,
tenantId
);
log.info("[getHourlyOnlineUsers] userLogoutTimes:{}", JSON.toJSONString(userLogoutTimes));
// 4. 构建用户会话
List<UserSessionDto> activeSessions = buildActiveSessions(UserLastLoginDtos, userLogoutTimes, targetDayStart, targetDayEnd);

View File

@@ -229,7 +229,7 @@ public class SimulationSystemConfigServiceImpl extends BaseService implements IS
* 查询所有定义的字典分类
* @return
*/
public SdmResponse queryDictionaryDefineClass(String titleName,String className,String dictName,String dictValue,int pageNo,int size)
public SdmResponse queryDictionaryDefineClass(String titleName,String className,String dictName,String dictValue,String classType, String comment,int pageNo,int size)
{
long tenantId = ThreadLocalContext.getTenantId();
SdmResponse response = SdmResponse.success();
@@ -242,6 +242,14 @@ public class SimulationSystemConfigServiceImpl extends BaseService implements IS
{
condition += " AND className LIKE '%"+className+"%'";
}
if(bStringNotBlank(classType))
{
condition += " AND classType LIKE '%"+classType+"%'";
}
if(bStringNotBlank(comment))
{
condition += " AND comment LIKE '%"+comment+"%'";
}
if(bStringNotBlank(dictName) || bStringNotBlank(dictValue))
{
List<DataDictionary> allDictionaryData = mapper.getAllDictionaryData(tenantId);