优化分析项库导入导出列过滤,优化仿真流程状态

This commit is contained in:
daiqy88
2025-12-29 11:10:38 +08:00
parent 67dea31090
commit bff129af8e
6 changed files with 42 additions and 13 deletions

View File

@@ -75,6 +75,7 @@ public class FlowServiceImpl extends BaseService implements IFlowService {
flowTemplate.creator = creator;
flowTemplate.tenantId = tenantId;
flowTemplate.createName = createName;
flowTemplate.templateStatus = -1;
flowTemplate.templateVersion = "V1.0";
flowTemplate.approveType = 0;
if(flowMapper.addFlowTemplate(flowTemplate) <=0)

View File

@@ -7,7 +7,7 @@ import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;
import com.github.pagehelper.PageInfo;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.bo.JwtToken;
import com.sdm.common.common.ThreadLocalContext;
import com.sdm.common.entity.enums.NodeTypeEnum;
import com.sdm.common.entity.req.data.GetSimulationTaskFileReq;
import com.sdm.common.entity.req.data.UploadFilesReq;
@@ -74,6 +74,12 @@ public class YAModelController {
@Value("${YA.backend.backendPublicKey}")
private String backendPublicKey;
@Value("${YA.default.tenantId}")
private Long tenantId;
@Value("${YA.default.userId}")
private Long userId;
/**
* 保存仿真模型数据
*
@@ -178,6 +184,14 @@ public class YAModelController {
return rsp;
}
/**
* 适配环境
*/
private void adaptContext()
{
ThreadLocalContext.setTenantId(tenantId);
}
/**
* 保存仿真关键结果
* @param req

View File

@@ -99,9 +99,9 @@ public class SimuluationTaskPoolController implements ISimuluationTaskPoolFeignC
@PostMapping(value = "/importTaskPool")
@ResponseBody
SdmResponse importSimulationTaskPool(@RequestParam("file") MultipartFile file,@RequestParam("dicts")String dicts,@RequestParam("poolName")String poolName)
SdmResponse importSimulationTaskPool(@RequestParam("file") MultipartFile file,@RequestParam("dicts")String dicts,@RequestParam("poolName")String poolName,@RequestParam("columns")String columns)
{
return service.importTaskPool(file,dicts,poolName);
return service.importTaskPool(file,dicts,poolName,columns);
}
@PostMapping(value = "/exportTaskPool")

View File

@@ -99,12 +99,13 @@ public class TaskPoolOperate {
* @param poolFile
* @return
*/
public SdmResponse paraseTaskPool(String dicts,MultipartFile poolFile)
public SdmResponse paraseTaskPool(String dicts,MultipartFile poolFile,String columns)
{
SdmResponse response = SdmResponse.success();
String poolFileName = uploadMultipartFile(poolFile);
String dictFileName = System.currentTimeMillis()+"dict.json";
if(!saveContentsToFile(dicts,dictFileName))
String columnFileName = System.currentTimeMillis()+"column.json";
if(!saveContentsToFile(dicts,dictFileName) || !saveContentsToFile(columns,columnFileName))
{
response = SdmResponse.failed("保存分析项库字典失败");
}
@@ -113,7 +114,7 @@ public class TaskPoolOperate {
//脚本解析分析项库文件
String shellPath = scriptPath+File.separator+"excelToJson.py";
String poolJsonFileName = System.currentTimeMillis()+"taskPool.json";
String pythonCmd = "python "+shellPath+" "+poolJsonFileName+" '"+poolFileName+"' "+dictFileName;
String pythonCmd = "python "+shellPath+" "+poolJsonFileName+" '"+poolFileName+"' "+dictFileName+" "+columnFileName;
try
{
log.info("shell begin time:"+System.currentTimeMillis());
@@ -158,6 +159,12 @@ public class TaskPoolOperate {
{
poolJsonFile.delete();
}
File columnFile = new File(columnFileName);
if(columnFile.exists())
{
columnFile.delete();
}
}
}
return response;
@@ -168,12 +175,13 @@ public class TaskPoolOperate {
* @param dicts
* @param taskPool
*/
public String convertTaskPoolToFile(String dicts,String taskPool)
public String convertTaskPoolToFile(String dicts,String taskPool,String colunms)
{
String dictFileName = System.currentTimeMillis()+"dict.json";
String poolJsonFileName = System.currentTimeMillis()+"taskPool.json";
String columnFileName = System.currentTimeMillis()+ "colunms.json";
String exportFileName = "";
if(!saveContentsToFile(dicts,dictFileName) || !saveContentsToFile(taskPool,poolJsonFileName))
if(!saveContentsToFile(dicts,dictFileName) || !saveContentsToFile(taskPool,poolJsonFileName) || !saveContentsToFile(colunms,columnFileName))
{
log.error("保存分析项库文件失败");
}
@@ -181,7 +189,7 @@ public class TaskPoolOperate {
{
String shellPath = scriptPath+File.separator+"jsonToExcel.py";
exportFileName = System.currentTimeMillis()+"taskPool.xlsx";
String cmd = "python "+shellPath+" "+poolJsonFileName+" "+exportFileName+" "+dictFileName;
String cmd = "python "+shellPath+" "+poolJsonFileName+" "+exportFileName+" "+dictFileName+" "+columnFileName;
try
{
String resultString = SystemOperate.exeShellCmd(cmd);
@@ -205,6 +213,11 @@ public class TaskPoolOperate {
{
poolFile.delete();
}
File columnFile = new File(columnFileName);
if(columnFile.exists())
{
columnFile.delete();
}
}
}
return exportFileName;

View File

@@ -48,7 +48,7 @@ public interface ISimulationTaskPoolService {
SdmResponse getAllTaskPool();
SdmResponse importTaskPool(MultipartFile multipartFile,String dicts,String poolName);
SdmResponse importTaskPool(MultipartFile multipartFile,String dicts,String poolName,String columns);
SdmResponse exportTaskPool(HttpServletResponse httpServletResponse,JSONObject jsonObject);

View File

@@ -1820,8 +1820,8 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
}
@Override
public SdmResponse importTaskPool(MultipartFile multipartFile,String dicts,String poolName) {
SdmResponse response = poolOperate.paraseTaskPool(dicts,multipartFile);
public SdmResponse importTaskPool(MultipartFile multipartFile,String dicts,String poolName,String columns) {
SdmResponse response = poolOperate.paraseTaskPool(dicts,multipartFile,columns);
if(response.getCode() != ResultCode.SUCCESS.getCode())
{
return response;
@@ -2054,6 +2054,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
String poolName = paramObject.getString("poolName");
String version = paramObject.getString("poolVersion");
String dicts = paramObject.getString("dicts");
String colunms = paramObject.getString("colunms");
SdmResponse response = SdmResponse.success();
SdmResponse poolTreeResponse = getPoolTreeByVersion(poolName,version);
if(poolTreeResponse.getCode() != ResultCode.SUCCESS.getCode())
@@ -2063,7 +2064,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
else
{
JSONObject jsonObject = (JSONObject) poolTreeResponse.getData();
String taskPoolFileName = poolOperate.convertTaskPoolToFile(dicts, jsonObject.toJSONString());
String taskPoolFileName = poolOperate.convertTaskPoolToFile(dicts, jsonObject.toJSONString(),colunms);
File file = new File(taskPoolFileName);
if(!file.exists())
{