fix[project]: 仿真策划导入外部表单,对导入的用户信息做转换
This commit is contained in:
@@ -20,10 +20,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import java.io.*;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@@ -35,7 +32,7 @@ public class ExportOperate {
|
||||
private String scriptPath;
|
||||
|
||||
/** 临时导出路径 */
|
||||
private static final String TEMP_EXPORT_PATH = "/opt/export/";
|
||||
private static final String TEMP_EXPORT_PATH = "D:\\scripts\\";
|
||||
|
||||
/** Python脚本名称 */
|
||||
private static final String PYTHON_INPUT_SCRIPT_NAME = "inputExcel.py";
|
||||
@@ -252,6 +249,35 @@ public class ExportOperate {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 找到任务树中所有的任务节点
|
||||
* @param nodeList
|
||||
* @return
|
||||
*/
|
||||
public static List<NodeAllBase> findAllTaskNodesNonRecursive(List<NodeAllBase> nodeList) {
|
||||
List<NodeAllBase> taskNodes = new ArrayList<>();
|
||||
if (nodeList == null || nodeList.isEmpty()) {
|
||||
return taskNodes;
|
||||
}
|
||||
|
||||
// 使用队列实现广度优先遍历
|
||||
Queue<NodeAllBase> queue = new LinkedList<>(nodeList);
|
||||
|
||||
while (!queue.isEmpty()) {
|
||||
NodeAllBase currentNode = queue.poll();
|
||||
// 判断当前节点是否是 task
|
||||
if (NodeTypeEnum.TASK.getValue().equals(currentNode.getNodeType())) {
|
||||
taskNodes.add(currentNode);
|
||||
}
|
||||
// 将子节点加入队列,继续遍历
|
||||
if (currentNode.getChildren() != null && !currentNode.getChildren().isEmpty()) {
|
||||
queue.addAll(currentNode.getChildren());
|
||||
}
|
||||
}
|
||||
|
||||
return taskNodes;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析脚本输出的JSON文件
|
||||
* @param jsonFile JSON文件路径
|
||||
@@ -269,7 +295,7 @@ public class ExportOperate {
|
||||
// 前端导入的文件中的用户信息是工号,需要转成userId
|
||||
List<NodeAllBase> nodeList = exportExternalForm.getNodes();
|
||||
// 过滤出任务
|
||||
List<NodeAllBase> taskList = nodeList.stream().filter(node -> NodeTypeEnum.TASK.getValue().equals(node.getNodeType())).collect(Collectors.toList());
|
||||
List<NodeAllBase> taskList = findAllTaskNodesNonRecursive(nodeList);
|
||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
for (NodeAllBase task : taskList) {
|
||||
// 仿真负责人
|
||||
|
||||
@@ -2443,6 +2443,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
log.info("策划任务时,新增需求");
|
||||
// Long tenantId = ThreadLocalContext.getTenantId();
|
||||
// Long jobNumber = ThreadLocalContext.getUserId();
|
||||
// String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||||
// for (TaskNode taskNode : taskNodeList) {
|
||||
// SpdmDemandVo demandByName = demandMapper.getDemandByNameNoPermission(tenantId,String.join(",", taskNode.getTag10()));
|
||||
// if (ObjectUtils.isNotEmpty(demandByName)) {
|
||||
@@ -2459,33 +2460,19 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
// String threeDMemberList = taskNode.getTMemberList();
|
||||
// // 关注人
|
||||
// String attentionMemberList = taskNode.getAMemberList();
|
||||
//
|
||||
//
|
||||
//
|
||||
//// if (demandMapper.addDemand(req, tenantId, jobNumber) <= 0) {
|
||||
//// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
//// return SdmResponse.failed("新增需求失败!");
|
||||
//// }
|
||||
// req.setCreateTime(curDateStr);
|
||||
// req.setUuid(RandomUtil.generateString(32));
|
||||
// if (demandMapper.addDemand(req, tenantId, jobNumber) <= 0) {
|
||||
// log.error("新增需求失败!");
|
||||
// return;
|
||||
// }
|
||||
// long demandId = req.getId();
|
||||
// List<SpdmDemandRelateMemberReq> allMemberList = new ArrayList<>();
|
||||
// String uuid = req.getUuid();
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// // 获取需求额外属性
|
||||
// List<SpdmDemandExtraReq> demandExtraList = req.getExtras();
|
||||
// String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||||
// req.setCreateTime(curDateStr);
|
||||
// req.setUuid(RandomUtil.generateString(32));
|
||||
//
|
||||
//
|
||||
// if (mapper.addDemand(req, tenantId, jobNumber) <= 0) {
|
||||
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
// return SdmResponse.failed("新增需求失败!");
|
||||
// }
|
||||
// long demandId = req.getId();
|
||||
// log.info("需求主键id为(无权限校验):{}", demandId);
|
||||
// List<SpdmDemandRelateMemberReq> allMemberList = new ArrayList<>();
|
||||
// String uuid = req.getUuid();
|
||||
// if (StringUtils.isNotBlank(pMemberList)) {
|
||||
// String[] pMemberArray = pMemberList.split(",");
|
||||
// for (String userId : pMemberArray) {
|
||||
@@ -2687,15 +2674,8 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
// log.info("创建需求时(无权限校验),更新需求创建人和需求仿真负责人(确认人)权限的参数为:{}",updatePermissionReq);
|
||||
// SdmResponse updatePermissionResponse = dataFeignClient.updatePermission(updatePermissionReq);
|
||||
// log.info("创建需求时(无权限校验),更新需求创建人和需求仿真负责人(确认人)权限的返回值为:{}",updatePermissionResponse);
|
||||
//
|
||||
// // 只有利元亨需要在创建需求的同时创建任务
|
||||
// if (req.getIsLyric()) {
|
||||
// SimulationDemand demand = new SimulationDemand();
|
||||
// BeanUtils.copyProperties(req, demand);
|
||||
// simulationTaskService.batchCreateTaskFromDemand(Collections.singletonList(demand));
|
||||
// }
|
||||
//
|
||||
// return SdmResponse.success(req.getUuid());
|
||||
|
||||
|
||||
}
|
||||
|
||||
// private SdmResponse realAddSimulationTaskItems(TaskNodeTree taskNodeTree, String parentId, Long tenantId,HashMap<String, List<String>> idMap,HashMap<String, List<String>> taskIdMap) {
|
||||
|
||||
Reference in New Issue
Block a user