修改company/jobNumber

This commit is contained in:
2025-11-07 09:08:53 +08:00
parent 28d08e2114
commit fcc5116ade
30 changed files with 215 additions and 218 deletions

View File

@@ -10,9 +10,9 @@ import java.util.List;
@Mapper
public interface PbsMapper {
PbsRun getPbsRunById(@Param("runId") long runId, @Param("company") String company);
PbsRun getPbsRunById(@Param("runId") long runId, @Param("company") Long company);
int getBaseRunCount(@Param("taskId") long taskId, @Param("company") String company);
int getBaseRunCount(@Param("taskId") long taskId, @Param("company") Long company);
int updateTaskAndRunRelate(@Param("runId") long runId, @Param("taskId") long taskId);

View File

@@ -10,15 +10,15 @@ import java.util.List;
@Mapper
public interface ProjectMapper {
List<ProjectNodeBase> getNodeBaseChildren(@Param("parentNodeId") long parentNodeId, @Param("parentNodeLevel") int parentNodeLevel, @Param("company") String company);
List<ProjectNodeBase> getNodeBaseChildren(@Param("parentNodeId") long parentNodeId, @Param("parentNodeLevel") int parentNodeLevel, @Param("company") Long company);
List<TaskBase> getTaskByNodeId(@Param("nodeBaseId") long nodeBaseId, @Param("company") String company);
List<TaskBase> getTaskByNodeId(@Param("nodeBaseId") long nodeBaseId, @Param("company") Long company);
int updateProjectNodeExeStatus(@Param("nodeBaseId") long nodeBaseId, @Param("exeStatus") int exeStatus, @Param("updater") String updater, @Param("company") String company);
int updateProjectNodeExeStatus(@Param("nodeBaseId") long nodeBaseId, @Param("exeStatus") int exeStatus, @Param("updater") Long updater, @Param("company") Long company);
int updateProjectNodeStatus(@Param("nodeBaseId") long nodeBaseId, @Param("status") int status, @Param("updater") String updater, @Param("company") String company);
int updateProjectNodeStatus(@Param("nodeBaseId") long nodeBaseId, @Param("status") int status, @Param("updater") Long updater, @Param("company") Long company);
int updateProjectNodeFinishTime(@Param("nodeBaseId") long nodeBaseId, @Param("finishTime") String finishTime, @Param("updater") String updater, @Param("company") String company);
int updateProjectNodeFinishTime(@Param("nodeBaseId") long nodeBaseId, @Param("finishTime") String finishTime, @Param("updater") Long updater, @Param("company") Long company);
ProjectNodeBase getParentProjectNodeBase(@Param("nodeId") long nodeId, @Param("level") int level, @Param("company") String company);
ProjectNodeBase getParentProjectNodeBase(@Param("nodeId") long nodeId, @Param("level") int level, @Param("company") Long company);
}

View File

@@ -13,28 +13,28 @@ import java.util.List;
@Mapper
public interface TaskMapper {
int addTaskBaseBatch(@Param("bases") List<TaskBase> bases, @Param("company") String company);
int addTaskBaseBatch(@Param("bases") List<TaskBase> bases, @Param("company") Long company);
int addTaskMemberBatch(@Param("members") List<TaskMember> members, @Param("company") String company);
int addTaskMemberBatch(@Param("members") List<TaskMember> members, @Param("company") Long company);
int addProjectNodeTaskRelateBatch(@Param("relates") List<ProjectNodeTaskRelate> relates, @Param("company") String company);
int addProjectNodeTaskRelateBatch(@Param("relates") List<ProjectNodeTaskRelate> relates, @Param("company") Long company);
int addTaskExpandBatch(@Param("expands") List<TaskExpand> expands, @Param("company") String company);
int addTaskExpandBatch(@Param("expands") List<TaskExpand> expands, @Param("company") Long company);
int updateTaskBase(@Param("base") TaskBase base, @Param("updater") String updater, @Param("company") String company);
int updateTaskBase(@Param("base") TaskBase base, @Param("updater") Long updater, @Param("company") Long company);
ProjectNodeBase getTaskParentNode(@Param("taskId") long taskId);
int updateTaskExpand(@Param("expand") TaskExpand expand, @Param("updater") String updater, @Param("company") String company);
int updateTaskExpand(@Param("expand") TaskExpand expand, @Param("updater") Long updater, @Param("company") Long company);
int delTaskExpandBatch(@Param("expandIds") List<Long> expandIds, @Param("company") String company);
int delTaskExpandBatch(@Param("expandIds") List<Long> expandIds, @Param("company") Long company);
TaskBase getTaskById(@Param("taskId") long taskId, @Param("company") String company);
TaskBase getTaskById(@Param("taskId") long taskId, @Param("company") Long company);
int delTaskById(@Param("taskId") long taskId, @Param("company") String company);
int delTaskById(@Param("taskId") long taskId, @Param("company") Long company);
List<PerformanceBase> getTaskPerformance(@Param("taskId") long taskId, @Param("company") String company);
List<PerformanceBase> getTaskPerformance(@Param("taskId") long taskId, @Param("company") Long company);
int updatePerformance(@Param("performanceId") long performanceId, @Param("unit") String unit, @Param("lowValue") String lowValue, @Param("highValue") String highValue, @Param("description") String description,
@Param("englishName") String englishName, @Param("method") String method, @Param("status") int status, @Param("value") String value, @Param("updater") String updater);
@Param("englishName") String englishName, @Param("method") String method, @Param("status") int status, @Param("value") String value, @Param("updater") Long updater);
}

View File

@@ -51,20 +51,20 @@ public class TaskServiceImpl implements TaskService {
@Transactional
@Override
public SdmResponse addTask(AddTaskReq req) {
String company = ThreadLocalContext.getCompany();
Long tenantId = ThreadLocalContext.getTenantId();
List<TaskBase> baseList = req.getBases();
int result = taskMapper.addTaskBaseBatch(baseList, company);
int result = taskMapper.addTaskBaseBatch(baseList, tenantId);
if (result <= 0) {
return SdmResponse.failed("新增任务失败!");
}
result = taskMapper.addTaskMemberBatch(req.getTaskMembers(), company);
result = taskMapper.addTaskMemberBatch(req.getTaskMembers(), tenantId);
if (result <= 0) {
// 手动回滚事务
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return SdmResponse.failed("新增任务负责人失败!");
}
if (!CollectionUtils.isEmpty(req.getRelates())) {
result = taskMapper.addProjectNodeTaskRelateBatch(req.getRelates(), company);
result = taskMapper.addProjectNodeTaskRelateBatch(req.getRelates(), tenantId);
if (result <= 0) {
// 手动回滚事务
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -72,14 +72,14 @@ public class TaskServiceImpl implements TaskService {
}
}
if (!CollectionUtils.isEmpty(req.getExpands())) {
result = taskMapper.addTaskExpandBatch(req.getExpands(), company);
result = taskMapper.addTaskExpandBatch(req.getExpands(), tenantId);
if (result <= 0) {
// 手动回滚事务
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return SdmResponse.failed("新增任务属性失败!");
}
}
String companyRootPath = Tools.getRootPath(rootPath, ThreadLocalContext.getCompany());
String companyRootPath = Tools.getRootPath(rootPath, String.valueOf(ThreadLocalContext.getTenantId()));
for (TaskBase base : baseList) {
commonService.createProjectDataDir(base.getTaskPath(), IData.DATA_TYPE.TASK, companyRootPath);
}
@@ -88,22 +88,22 @@ public class TaskServiceImpl implements TaskService {
@Override
public SdmResponse updateTaskBatch(UpdateTaskBatchReq req) {
String updater = ThreadLocalContext.getJobNumber();
String company = ThreadLocalContext.getCompany();
Long updater = ThreadLocalContext.getUserId();
Long tenantId = ThreadLocalContext.getTenantId();
if (!CollectionUtils.isEmpty(req.getTaskBases())) {
req.getTaskBases().parallelStream().forEach(this::updateTask);
}
if (!CollectionUtils.isEmpty(req.getUpdateTaskExpands())) {
req.getUpdateTaskExpands().parallelStream().forEach(taskExpand -> taskMapper.updateTaskExpand(taskExpand, updater, company));
req.getUpdateTaskExpands().parallelStream().forEach(taskExpand -> taskMapper.updateTaskExpand(taskExpand, updater, tenantId));
}
if (!CollectionUtils.isEmpty(req.getAddTaskExpands())) {
int result = taskMapper.addTaskExpandBatch(req.getAddTaskExpands(), company);
int result = taskMapper.addTaskExpandBatch(req.getAddTaskExpands(), tenantId);
if (result <= 0) {
return SdmResponse.failed("新增任务属性失败!");
}
}
if (!CollectionUtils.isEmpty(req.getDelTaskExpandIds())) {
int result = taskMapper.delTaskExpandBatch(req.getDelTaskExpandIds(), company);
int result = taskMapper.delTaskExpandBatch(req.getDelTaskExpandIds(), tenantId);
if (result <= 0) {
return SdmResponse.failed("删除任务属性失败!");
}
@@ -112,8 +112,8 @@ public class TaskServiceImpl implements TaskService {
}
private void updateTask(TaskBase taskBase) {
TaskBase oldBase = taskMapper.getTaskById(taskBase.getId(), ThreadLocalContext.getCompany());
taskMapper.updateTaskBase(taskBase, ThreadLocalContext.getJobNumber(), ThreadLocalContext.getCompany());
TaskBase oldBase = taskMapper.getTaskById(taskBase.getId(), ThreadLocalContext.getTenantId());
taskMapper.updateTaskBase(taskBase, ThreadLocalContext.getUserId(), ThreadLocalContext.getTenantId());
ProjectNodeBase projectNodeBase = taskMapper.getTaskParentNode(taskBase.getId());
reverseUpdateUp(projectNodeBase, oldBase.getExeStatus() != taskBase.getExeStatus(),
oldBase.getStatus() != taskBase.getStatus(), !StringUtils.equals(oldBase.getFinishTime(), taskBase.getFinishTime()));
@@ -122,9 +122,9 @@ public class TaskServiceImpl implements TaskService {
// 向上更新
private void reverseUpdateUp(ProjectNodeBase parentNode, boolean updateExeStatus, boolean updateStatus, boolean updateFinishTime) {
String company = ThreadLocalContext.getCompany();
List<ProjectNodeBase> nodeBases = projectMapper.getNodeBaseChildren(parentNode.getId(), parentNode.getLevel(), company);
List<TaskBase> taskBases = projectMapper.getTaskByNodeId(parentNode.getId(), company);
Long tenantId = ThreadLocalContext.getTenantId();
List<ProjectNodeBase> nodeBases = projectMapper.getNodeBaseChildren(parentNode.getId(), parentNode.getLevel(), tenantId);
List<TaskBase> taskBases = projectMapper.getTaskByNodeId(parentNode.getId(), tenantId);
if (CollectionUtils.isEmpty(nodeBases)) {
return;
}
@@ -143,7 +143,7 @@ public class TaskServiceImpl implements TaskService {
newExeStatus = 2;
}
if (newExeStatus != parentNode.getExeStatus()) {
projectMapper.updateProjectNodeExeStatus(parentNode.getId(), newExeStatus, ThreadLocalContext.getJobNumber(), company);
projectMapper.updateProjectNodeExeStatus(parentNode.getId(), newExeStatus, ThreadLocalContext.getUserId(), tenantId);
} else {
updateExeStatus = false;
}
@@ -155,7 +155,7 @@ public class TaskServiceImpl implements TaskService {
taskBases.forEach(a -> statuses.add(a.getStatus()));
int nodeStatus = confirmStatus(statuses);
if (nodeStatus != parentNode.getStatus()) {
projectMapper.updateProjectNodeStatus(parentNode.getId(), nodeStatus, ThreadLocalContext.getJobNumber(), company);
projectMapper.updateProjectNodeStatus(parentNode.getId(), nodeStatus, ThreadLocalContext.getUserId(), tenantId);
} else {
updateStatus = false;
}
@@ -182,12 +182,12 @@ public class TaskServiceImpl implements TaskService {
}
}
if (finished) {
projectMapper.updateProjectNodeFinishTime(parentNode.getId(), lastFinishTime, ThreadLocalContext.getJobNumber(), company);
projectMapper.updateProjectNodeFinishTime(parentNode.getId(), lastFinishTime, ThreadLocalContext.getUserId(), tenantId);
} else {
updateFinishTime = false;
}
}
ProjectNodeBase node = projectMapper.getParentProjectNodeBase(parentNode.getId(), parentNode.getLevel(), company);
ProjectNodeBase node = projectMapper.getParentProjectNodeBase(parentNode.getId(), parentNode.getLevel(), tenantId);
if (node != null && (updateExeStatus || updateStatus || updateFinishTime)) {
reverseUpdateUp(node, updateExeStatus, updateStatus, updateFinishTime);
}
@@ -210,16 +210,16 @@ public class TaskServiceImpl implements TaskService {
@Override
public SdmResponse delTask(DelTaskReq req) {
// todo 权限控制
String company = ThreadLocalContext.getCompany();
TaskBase taskBase = taskMapper.getTaskById(req.getTaskId(), ThreadLocalContext.getCompany());
Long tenantId = ThreadLocalContext.getTenantId();
TaskBase taskBase = taskMapper.getTaskById(req.getTaskId(), ThreadLocalContext.getTenantId());
if (ObjectUtils.isEmpty(taskBase)) {
return SdmResponse.failed("任务不存在!");
}
int result = taskMapper.delTaskById(req.getTaskId(), company);
int result = taskMapper.delTaskById(req.getTaskId(), tenantId);
if (result <= 0) {
return SdmResponse.failed("删除任务失败!");
}
File taskFile = new File(Tools.getRootPath(rootPath, company) + File.separator + taskBase.getTaskPath());
File taskFile = new File(Tools.getRootPath(rootPath, String.valueOf(tenantId)) + File.separator + taskBase.getTaskPath());
boolean del = Tools.reverseDelFiles(taskFile);
if (!del) {
return SdmResponse.failed("删除任务文件失败");
@@ -232,28 +232,28 @@ public class TaskServiceImpl implements TaskService {
public SdmResponse relateTaskAndRun(RelateTaskAndRunReq req) {
long taskId = req.getTaskId();
long runId = req.getRunId();
String company = ThreadLocalContext.getCompany();
TaskBase taskBase = taskMapper.getTaskById(taskId, company);
Long tenantId = ThreadLocalContext.getTenantId();
TaskBase taskBase = taskMapper.getTaskById(taskId, tenantId);
if (ObjectUtils.isEmpty(taskBase)) {
return SdmResponse.failed("任务不存在");
}
PbsRun pbsRun = pbsMapper.getPbsRunById(req.getRunId(), company);
PbsRun pbsRun = pbsMapper.getPbsRunById(req.getRunId(), tenantId);
if (ObjectUtils.isEmpty(pbsRun)) {
return SdmResponse.failed("算例不存在");
}
int baseRunCount = pbsMapper.getBaseRunCount(taskId, company);
int baseRunCount = pbsMapper.getBaseRunCount(taskId, tenantId);
if (req.getBase() == 1 && baseRunCount > 0) {
return SdmResponse.failed("归档基础算例已存在");
}
if (pbsMapper.updateTaskAndRunRelate(runId, taskId) <= 0){
return SdmResponse.failed("归档算例失败");
}
List<PerformanceBase> performanceBases = taskMapper.getTaskPerformance(taskId, company);
List<PerformanceBase> performanceBases = taskMapper.getTaskPerformance(taskId, tenantId);
for (PerformanceBase base : req.getPerformanceBaseList()) {
for (PerformanceBase performanceBase : performanceBases) {
if (base.getPerformanceName().equals(performanceBase.getPerformanceName())) {
taskMapper.updatePerformance(performanceBase.getId(), base.getUnit(), base.getLowValue(), base.getHighValue(),
base.getLowValue(), base.getEnglishName(), base.getMethod(), base.getStatus(), base.getValue(), ThreadLocalContext.getJobNumber());
base.getLowValue(), base.getEnglishName(), base.getMethod(), base.getStatus(), base.getValue(), ThreadLocalContext.getUserId());
// 更新状态 向上更新任务和节点状态
if (base.getStatus() != performanceBase.getStatus()) {
ProjectNodeBase projectNodeBase = taskMapper.getTaskParentNode(taskId);