From b5a21d35e93b93fdb1f190fd1851c945b2a3a207 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 03 三月 2025 00:52:30 +0800
Subject: [PATCH] 调整流程推进、日志的项目id类型
---
business/src/main/java/com/ycl/domain/form/TaskHangupForm.java | 2
business/src/main/java/com/ycl/domain/form/TaskSuperviseForm.java | 2
business/src/main/java/com/ycl/domain/vo/ProjectProcessDetailVO.java | 7 +
business/src/main/java/com/ycl/domain/entity/ProjectProcess.java | 7 +
business/src/main/java/com/ycl/domain/form/TaskJumpForm.java | 2
business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java | 4
project_management_正式数据.sql | 0
business/src/main/java/com/ycl/controller/ProjectProcessController.java | 10 +-
common/src/main/java/com/ycl/common/enums/business/ProjectProcessTypeEnum.java | 28 +++++
business/src/main/java/com/ycl/domain/query/TaskQuery.java | 2
business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java | 2
business/src/main/java/com/ycl/domain/form/ProjectProcessForm.java | 7 +
business/src/main/java/com/ycl/domain/form/TaskTeamWorkForm.java | 2
business/src/main/java/com/ycl/domain/form/TaskDelegationForm.java | 2
business/src/main/java/com/ycl/event/event/TaskLogEvent.java | 4
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 141 ++++++++++++++++++---------
flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java | 2
business/src/main/java/com/ycl/service/ProjectProcessService.java | 10 -
business/src/main/java/com/ycl/task/FlowableTask.java | 10 +
business/src/main/java/com/ycl/service/ProcessLogService.java | 2
business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java | 1
flowable/src/main/java/com/ycl/domain/entity/ProcessLog.java | 2
22 files changed, 172 insertions(+), 77 deletions(-)
diff --git a/business/src/main/java/com/ycl/controller/ProjectProcessController.java b/business/src/main/java/com/ycl/controller/ProjectProcessController.java
index a26f735..c2a66a7 100644
--- a/business/src/main/java/com/ycl/controller/ProjectProcessController.java
+++ b/business/src/main/java/com/ycl/controller/ProjectProcessController.java
@@ -56,15 +56,15 @@
@GetMapping("/detail/{projectId}/{processId}")
@ApiOperation(value = "鑾峰彇椤圭洰娴佺▼璇︽儏淇℃伅", notes = "鑾峰彇椤圭洰娴佺▼璇︽儏淇℃伅")
// @PreAuthorize("@ss.hasPermi('projectProcess:detail')")
- public Result detail(@PathVariable("projectId") Long projectId, @PathVariable("processId") String processId) {
- return projectProcessService.detail(projectId, processId);
+ public Result detail(ProjectProcessForm form) {
+ return projectProcessService.detail(form);
}
- @PostMapping("/start/{projectId}/{processDefId}")
+ @PostMapping("/start")
@ApiOperation(value = "鍚姩娴佺▼", notes = "鍚姩娴佺▼")
// @PreAuthorize("@ss.hasPermi('projectProcess:start')")
- public Result startProcess(@PathVariable("projectId") Long projectId, @PathVariable("processDefId") String processDefId) {
- return projectProcessService.startProcess(projectId, processDefId);
+ public Result startProcess(@RequestBody @Validated ProjectProcessForm form) {
+ return projectProcessService.startProcess(form);
}
@GetMapping("/detail/task/list")
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java b/business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java
index c3c63c2..1e868f8 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java
+++ b/business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java
@@ -44,14 +44,18 @@
private String status;
@TableField("department")
+ /** 涓荤閮ㄩ棬 */
private Long department;
@TableField("unit")
+ /** 涓氫富鍗曚綅 */
private Long unit;
+
@TableField("parent_id")
private String parent;
@TableField("year")
+ /** 骞翠唤 */
private Date year;
}
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectProcess.java b/business/src/main/java/com/ycl/domain/entity/ProjectProcess.java
index 723a20c..732e5ba 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectProcess.java
+++ b/business/src/main/java/com/ycl/domain/entity/ProjectProcess.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
+import com.ycl.common.enums.business.ProjectProcessTypeEnum;
import com.ycl.system.domain.base.AbsEntity;
import lombok.Data;
@@ -21,7 +22,7 @@
@TableField("project_id")
/** 椤圭洰ID */
- private Long projectId;
+ private String projectId;
@TableField("process_def_id")
/** 娴佺▼瀹氫箟ID */
@@ -35,4 +36,8 @@
/** 鏁版嵁鎻愪氦鏀�/涓氫富鍗曚綅id */
private Long dataLaunch;
+ @TableField("project_type")
+ /** 椤圭洰绫诲瀷锛氶」鐩繕鏄伐绋� */
+ private ProjectProcessTypeEnum projectType;
+
}
diff --git a/business/src/main/java/com/ycl/domain/form/ProjectProcessForm.java b/business/src/main/java/com/ycl/domain/form/ProjectProcessForm.java
index d2db186..efa2aca 100644
--- a/business/src/main/java/com/ycl/domain/form/ProjectProcessForm.java
+++ b/business/src/main/java/com/ycl/domain/form/ProjectProcessForm.java
@@ -1,5 +1,6 @@
package com.ycl.domain.form;
+import com.ycl.common.enums.business.ProjectProcessTypeEnum;
import com.ycl.common.group.Update;
import com.ycl.common.group.Add;
import com.ycl.system.domain.base.AbsForm;
@@ -25,12 +26,16 @@
@NotNull(message = "椤圭洰ID涓嶈兘涓虹┖", groups = {Add.class, Update.class})
@ApiModelProperty("椤圭洰ID")
- private Long projectId;
+ private String projectId;
@NotBlank(message = "娴佺▼ID涓嶈兘涓虹┖", groups = {Add.class, Update.class})
@ApiModelProperty("娴佺▼瀹氫箟ID")
private String processDefId;
+ @NotBlank(message = "椤圭洰绫诲瀷涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("椤圭洰绫诲瀷锛氶」鐩繕鏄伐绋�")
+ private ProjectProcessTypeEnum projectType;
+
public static ProjectProcess getEntityByForm(@NonNull ProjectProcessForm form, ProjectProcess entity) {
if(entity == null) {
entity = new ProjectProcess();
diff --git a/business/src/main/java/com/ycl/domain/form/TaskDelegationForm.java b/business/src/main/java/com/ycl/domain/form/TaskDelegationForm.java
index 86c1a6b..681012f 100644
--- a/business/src/main/java/com/ycl/domain/form/TaskDelegationForm.java
+++ b/business/src/main/java/com/ycl/domain/form/TaskDelegationForm.java
@@ -35,7 +35,7 @@
private String targetId;
@ApiModelProperty("椤圭洰id锛岀敤浜庝繚瀛樻棩蹇�")
- private Long projectId;
+ private String projectId;
@ApiModelProperty("娴佺▼瀹炰緥id锛岀敤浜庝繚瀛樻棩蹇�")
private String processInsId;
diff --git a/business/src/main/java/com/ycl/domain/form/TaskHangupForm.java b/business/src/main/java/com/ycl/domain/form/TaskHangupForm.java
index 4b86341..58239c1 100644
--- a/business/src/main/java/com/ycl/domain/form/TaskHangupForm.java
+++ b/business/src/main/java/com/ycl/domain/form/TaskHangupForm.java
@@ -27,7 +27,7 @@
private String reason;
@ApiModelProperty("椤圭洰id")
- private Long projectId;
+ private String projectId;
/**
* 娴佺▼瀹炰緥id
diff --git a/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java b/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java
index c1868d0..792184e 100644
--- a/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java
+++ b/business/src/main/java/com/ycl/domain/form/TaskJumpForm.java
@@ -25,7 +25,7 @@
private String taskId;
@ApiModelProperty("椤圭洰id锛岀敤浜庝繚瀛樻棩蹇�")
- private Long projectId;
+ private String projectId;
@ApiModelProperty("娴佺▼瀹炰緥id锛岀敤浜庝繚瀛樻棩蹇�")
private String processInsId;
diff --git a/business/src/main/java/com/ycl/domain/form/TaskSuperviseForm.java b/business/src/main/java/com/ycl/domain/form/TaskSuperviseForm.java
index 2b3fd8d..59e40d2 100644
--- a/business/src/main/java/com/ycl/domain/form/TaskSuperviseForm.java
+++ b/business/src/main/java/com/ycl/domain/form/TaskSuperviseForm.java
@@ -27,7 +27,7 @@
private String taskId;
@ApiModelProperty("椤圭洰id锛岀敤浜庝繚瀛樻棩蹇�")
- private Long projectId;
+ private String projectId;
@ApiModelProperty("娴佺▼瀹炰緥id锛岀敤浜庝繚瀛樻棩蹇�")
private String processInsId;
diff --git a/business/src/main/java/com/ycl/domain/form/TaskTeamWorkForm.java b/business/src/main/java/com/ycl/domain/form/TaskTeamWorkForm.java
index 751f964..cdf34c0 100644
--- a/business/src/main/java/com/ycl/domain/form/TaskTeamWorkForm.java
+++ b/business/src/main/java/com/ycl/domain/form/TaskTeamWorkForm.java
@@ -24,7 +24,7 @@
private String taskId;
@ApiModelProperty("椤圭洰id")
- private Long projectId;
+ private String projectId;
/**
* 娴佺▼瀹炰緥id
diff --git a/business/src/main/java/com/ycl/domain/query/TaskQuery.java b/business/src/main/java/com/ycl/domain/query/TaskQuery.java
index 60aed49..203c576 100644
--- a/business/src/main/java/com/ycl/domain/query/TaskQuery.java
+++ b/business/src/main/java/com/ycl/domain/query/TaskQuery.java
@@ -13,7 +13,7 @@
/**
* 椤圭洰id
*/
- private Long projectId;
+ private String projectId;
/**
* 娴佺▼瀹氫箟id
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectProcessDetailVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectProcessDetailVO.java
index f0385b5..70fe0ac 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProjectProcessDetailVO.java
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectProcessDetailVO.java
@@ -14,7 +14,12 @@
/**
* 椤圭洰id
*/
- private Long projectId;
+ private String projectId;
+
+ /**
+ * 椤圭洰绫诲瀷锛氬伐绋嬫垨椤圭洰
+ */
+ private String projectType;
/**
* 椤圭洰鍚嶇О
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java
index 356b9c3..67530f6 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java
@@ -1,5 +1,6 @@
package com.ycl.domain.vo;
+import com.ycl.common.enums.business.ProjectProcessTypeEnum;
import com.ycl.domain.entity.ProjectInfo;
import com.ycl.system.domain.base.AbsVo;
import io.swagger.annotations.ApiModel;
diff --git a/business/src/main/java/com/ycl/event/event/TaskLogEvent.java b/business/src/main/java/com/ycl/event/event/TaskLogEvent.java
index 85f8581..0f65cdd 100644
--- a/business/src/main/java/com/ycl/event/event/TaskLogEvent.java
+++ b/business/src/main/java/com/ycl/event/event/TaskLogEvent.java
@@ -26,7 +26,7 @@
/**
* 椤圭洰id
*/
- private Long projectId;
+ private String projectId;
/**
* 娴佺▼瀹炰緥id
@@ -68,7 +68,7 @@
* @param taskId 浠诲姟id
* @param otherData 鍏跺畠鏁版嵁
*/
- public TaskLogEvent(Object source,Long id,Long userId, Long projectId, String processInsId, String taskId, String taskDefKey, String taskName,ProcessLogEventTypeEnum eventType, Object otherData) {
+ public TaskLogEvent(Object source,Long id,Long userId, String projectId, String processInsId, String taskId, String taskDefKey, String taskName,ProcessLogEventTypeEnum eventType, Object otherData) {
super(source);
this.id = id;
this.userId = userId;
diff --git a/business/src/main/java/com/ycl/service/ProcessLogService.java b/business/src/main/java/com/ycl/service/ProcessLogService.java
index 6d45f83..8609d33 100644
--- a/business/src/main/java/com/ycl/service/ProcessLogService.java
+++ b/business/src/main/java/com/ycl/service/ProcessLogService.java
@@ -24,7 +24,7 @@
* @param projectId 椤圭洰id
* @param eventDataJson json鎵╁睍鍐呭
*/
- void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, Long projectId, String eventDataJson);
+ void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, String projectId, String eventDataJson);
/**
* 鎵归噺鍒犻櫎
diff --git a/business/src/main/java/com/ycl/service/ProjectProcessService.java b/business/src/main/java/com/ycl/service/ProjectProcessService.java
index 2b20e0e..c2279ce 100644
--- a/business/src/main/java/com/ycl/service/ProjectProcessService.java
+++ b/business/src/main/java/com/ycl/service/ProjectProcessService.java
@@ -27,11 +27,10 @@
/**
* 鏍规嵁椤圭洰id鏌ユ壘
- * @param projectId
- * @param processId
+ * @param form
* @return
*/
- Result detail(Long projectId, String processId);
+ Result detail(ProjectProcessForm form);
/**
* 椤圭洰璁剧疆娴佺▼
@@ -44,11 +43,10 @@
/**
* 鍚姩娴佺▼
*
- * @param processDefId 娴佺▼瀹氫箟id
- * @param projectId 椤圭洰id锛屼綔涓轰笟鍔d瀛樺叆activity琛�
+ * @param form
* @return
*/
- Result startProcess(Long projectId, String processDefId);
+ Result startProcess(ProjectProcessForm form);
/**
* 鏌ヨ浠诲姟鍒楄〃
diff --git a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
index 0ad7599..2d0b6d7 100644
--- a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
@@ -58,7 +58,7 @@
* @param eventDataJson json鎵╁睍鍐呭
*/
@Override
- public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, Long projectId, String eventDataJson) {
+ public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, String projectId, String eventDataJson) {
ProcessLog log = new ProcessLog();
log.setTaskId(taskId);
log.setProcessInsId(flowInsId);
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index f6cfa5b..1ad1628 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -23,6 +23,7 @@
import com.ycl.domain.vo.IndexCustomerTaskVO;
import com.ycl.domain.vo.ProjectProcessDetailVO;
import com.ycl.event.event.TaskLogEvent;
+import com.ycl.mapper.ProjectEngineeringMapper;
import com.ycl.mapper.ProjectInfoMapper;
import com.ycl.mapper.ProjectProcessMapper;
import com.ycl.service.*;
@@ -77,6 +78,7 @@
private final IdentityService identityService;
private final RepositoryService repositoryService;
private final ProjectInfoMapper projectInfoMapper;
+ private final ProjectEngineeringMapper projectEngineeringMapper;
private final HistoryService historyService;
private final ISysUserService sysUserService;
private final ISysRoleService sysRoleService;
@@ -121,6 +123,7 @@
// 鏌ヨ璇ラ」鐩槸鍚﹀凡缁忕粦瀹氳繃娴佺▼浜嗭紝妫�鏌ョ粦瀹氱殑娴佺▼鏄惁鍦ㄨ繍琛岋紝鍦ㄨ繍琛屽氨鍒犱簡
ProjectProcess pp = new LambdaQueryChainWrapper<>(baseMapper)
.eq(ProjectProcess::getProjectId, form.getProjectId())
+ .eq(ProjectProcess::getProjectType, form.getProjectType())
.one();
if (Objects.isNull(pp)) {
throw new RuntimeException("璇ラ」鐩湭缁戝畾娴佺▼");
@@ -140,23 +143,38 @@
}
}
}
- ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
- .select(ProjectInfo::getProjectOwnerUnit)
- .eq(ProjectInfo::getId, form.getProjectId())
- .one();
- if (Objects.isNull(project)) {
- throw new RuntimeException("椤圭洰涓嶅瓨鍦�");
+ Long unitId = null;
+ if (ProjectProcessTypeEnum.PROJECT.equals(form.getProjectType())) {
+ ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
+ .select(ProjectInfo::getProjectOwnerUnit)
+ .eq(ProjectInfo::getId, form.getProjectId())
+ .one();
+ if (Objects.isNull(project)) {
+ throw new RuntimeException("椤圭洰涓嶅瓨鍦�");
+ }
+ unitId = project.getProjectOwnerUnit();
+ } else if (ProjectProcessTypeEnum.ENGINEERING.equals(form.getProjectType())) {
+ ProjectEngineering projectEngineering = new LambdaQueryChainWrapper<>(projectEngineeringMapper)
+ .select(ProjectEngineering::getDepartment)
+ .eq(ProjectEngineering::getId, form.getProjectId())
+ .one();
+ if (Objects.isNull(projectEngineering)) {
+ throw new RuntimeException("宸ョ▼涓嶅瓨鍦�");
+ }
+ unitId = projectEngineering.getUnit();
}
- SysDept dept = deptService.selectDeptById(project.getProjectOwnerUnit());
+
+ SysDept dept = deptService.selectDeptById(unitId);
if (Objects.isNull(dept)) {
- throw new RuntimeException("椤圭洰涓氫富鍗曚綅涓嶅瓨鍦�");
+ throw new RuntimeException("涓氫富鍗曚綅涓嶅瓨鍦�");
}
String processInsId = this.startPro(form.getProjectId(), form.getProcessDefId(), dept.getDeptId());
new LambdaUpdateChainWrapper<>(baseMapper)
.eq(ProjectProcess::getProjectId, form.getProjectId())
+ .eq(ProjectProcess::getProjectType, form.getProjectType())
.set(ProjectProcess::getProcessDefId, form.getProcessDefId())
.set(ProjectProcess::getProcessInsId, processInsId)
- .set(ProjectProcess::getDataLaunch, project.getProjectOwnerUnit())
+ .set(ProjectProcess::getDataLaunch, unitId)
.update();
return Result.ok("娴佺▼鍙樻洿鎴愬姛");
@@ -164,21 +182,38 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public Result startProcess(Long projectId, String processDefId) {
- ProjectInfo project = projectInfoMapper.selectById(projectId);
- if (Objects.isNull(project)) {
- throw new RuntimeException("椤圭洰涓嶅瓨鍦�");
+ public Result startProcess(ProjectProcessForm form) {
+ Long unitId = null;
+ if (ProjectProcessTypeEnum.PROJECT.equals(form.getProjectType())) {
+ ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
+ .select(ProjectInfo::getProjectOwnerUnit)
+ .eq(ProjectInfo::getId, form.getProjectId())
+ .one();
+ if (Objects.isNull(project)) {
+ throw new RuntimeException("椤圭洰涓嶅瓨鍦�");
+ }
+ unitId = project.getProjectOwnerUnit();
+ } else if (ProjectProcessTypeEnum.ENGINEERING.equals(form.getProjectType())) {
+ ProjectEngineering projectEngineering = new LambdaQueryChainWrapper<>(projectEngineeringMapper)
+ .select(ProjectEngineering::getDepartment)
+ .eq(ProjectEngineering::getId, form.getProjectId())
+ .one();
+ if (Objects.isNull(projectEngineering)) {
+ throw new RuntimeException("宸ョ▼涓嶅瓨鍦�");
+ }
+ unitId = projectEngineering.getUnit();
}
- SysDept dept = deptService.selectDeptById(project.getProjectOwnerUnit());
+ SysDept dept = deptService.selectDeptById(unitId);
if (Objects.isNull(dept)) {
- throw new RuntimeException("椤圭洰涓氫富鍗曚綅涓嶅瓨鍦�");
+ throw new RuntimeException("涓氫富鍗曚綅涓嶅瓨鍦�");
}
- String processInsId = this.startPro(projectId, processDefId, dept.getDeptId());
+ String processInsId = this.startPro(form.getProjectId(), form.getProcessDefId(), dept.getDeptId());
ProjectProcess entity = new ProjectProcess();
- entity.setProjectId(projectId);
- entity.setProcessDefId(processDefId);
+ entity.setProjectId(form.getProjectId());
+ entity.setProcessDefId(form.getProcessDefId());
entity.setProcessInsId(processInsId);
- entity.setDataLaunch(project.getProjectOwnerUnit());
+ entity.setDataLaunch(unitId);
+ entity.setProjectType(form.getProjectType());
baseMapper.insert(entity);
return Result.ok("娴佺▼鍚姩鎴愬姛");
@@ -191,7 +226,7 @@
* @param processDefId
* @return
*/
- private String startPro(Long projectId, String processDefId, Long createBy) {
+ private String startPro(String projectId, String processDefId, Long createBy) {
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefId)
@@ -213,39 +248,51 @@
/**
* 鑾峰彇娴佺▼璇︽儏
*
- * @param projectId
+ * @param form
* @return
*/
@Override
- public Result detail(Long projectId, String processDefId) {
- // 椤圭洰淇℃伅
- ProjectInfo projectInfo = new LambdaQueryChainWrapper<>(projectInfoMapper)
- .select(ProjectInfo::getId, ProjectInfo::getProjectName, ProjectInfo::getProjectCode)
- .eq(ProjectInfo::getId, projectId)
- .one();
+ public Result detail(ProjectProcessForm form) {
- if (Objects.isNull(projectInfo)) {
- return Result.error("璇ラ」鐩笉瀛樺湪");
+ String projectName = "";
+ String projectCode = "";
+ if (ProjectProcessTypeEnum.PROJECT.equals(form.getProjectType())) {
+ ProjectInfo projectInfo = projectInfoMapper.selectById(form.getProjectId());
+ if (Objects.isNull(projectInfo)) {
+ throw new RuntimeException("椤圭洰涓嶅瓨鍦�");
+ }
+ projectName = projectInfo.getProjectName();
+ projectCode = projectInfo.getProjectCode();
+ } else if (ProjectProcessTypeEnum.ENGINEERING.equals(form.getProjectType())) {
+ ProjectEngineering projectEngineering = projectEngineeringMapper.selectById(form.getProjectId());
+ if (Objects.isNull(projectEngineering)) {
+ throw new RuntimeException("宸ョ▼涓嶅瓨鍦�");
+ }
+ projectName = projectEngineering.getProjectName();
}
ProjectProcess projectProcess = new LambdaQueryChainWrapper<>(baseMapper)
- .eq(ProjectProcess::getProjectId, projectId)
- .eq(ProjectProcess::getProcessDefId, processDefId)
+ .eq(ProjectProcess::getProjectId, form.getProjectId())
+ .eq(ProjectProcess::getProcessDefId, form.getProcessDefId())
+ .eq(ProjectProcess::getProjectType, form.getProjectType())
.one();
if (Objects.isNull(projectProcess)) {
- return Result.error("璇ラ」鐩湭璁剧疆娴佺▼");
+ return Result.error("鏈缃祦绋�");
}
ProjectProcessDetailVO detail = new ProjectProcessDetailVO();
- detail.setProjectId(projectId);
- detail.setProjectName(projectInfo.getProjectName());
- detail.setProjectCode(projectInfo.getProjectCode());
+ detail.setProjectType(form.getProjectType().getValue());
+ detail.setProjectId(form.getProjectId());
+
+
+ detail.setProjectName(projectName);
+ detail.setProjectCode(projectCode);
ProjectProcessDetailVO.TaskStatistics taskStatistics = new ProjectProcessDetailVO.TaskStatistics();
// 鐘舵�佺粺璁�
- taskStatistics.setTotalTaskNum(this.getTotalTaskNum(processDefId));
+ taskStatistics.setTotalTaskNum(this.getTotalTaskNum(form.getProcessDefId()));
taskStatistics.setTodoTaskNum(this.getTodoTaskNum(projectProcess.getProcessInsId()));
- taskStatistics.setRemainingTaskNum(this.getRemainingTaskNum(processDefId, projectProcess.getProcessInsId(), taskStatistics.getTotalTaskNum()));
+ taskStatistics.setRemainingTaskNum(this.getRemainingTaskNum(form.getProcessDefId(), projectProcess.getProcessInsId(), taskStatistics.getTotalTaskNum()));
taskStatistics.setTimelyFinishedTaskNum(this.getTimelyTaskNum(projectProcess.getProcessInsId()));
taskStatistics.setOvertimeTaskNum(this.getOvertimeTaskNum(projectProcess.getProcessInsId()));
taskStatistics.setWillOvertimeTaskNum(this.getWillOvertimeTaskNum(projectProcess.getProcessInsId()));
@@ -835,7 +882,7 @@
* @param pageNum
* @param result
*/
- public void getTodoTaskList(Long projectId, String processInsId, String taskName, int pageSize, int pageNum, Result result) {
+ public void getTodoTaskList(String projectId, String processInsId, String taskName, int pageSize, int pageNum, Result result) {
TaskQuery taskQuery = taskService.createTaskQuery()
.active()
.processInstanceId(processInsId)
@@ -872,7 +919,7 @@
* @param result
* @return
*/
- private List<CustomerTaskVO> getAllUserTask(Long projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
+ private List<CustomerTaskVO> getAllUserTask(String projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
int startNum = pageSize * (pageNum - 1);
int endNum = startNum + pageSize;
List<UserTask> allUserTaskElement = this.getAllUserTaskElement(processDefinitionId);
@@ -1022,7 +1069,7 @@
* @param processDefId 娴佺▼瀹氫箟id
* @return
*/
- private List<CustomerTaskVO> getFinishedProcessTaskInfo(List<UserTask> userTasks, Long projectId, String processInsId, String processDefId) {
+ private List<CustomerTaskVO> getFinishedProcessTaskInfo(List<UserTask> userTasks, String projectId, String processInsId, String processDefId) {
HistoricProcessInstance hisProcess = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInsId).singleResult();
if (Objects.isNull(hisProcess)) {
return new ArrayList<>();
@@ -1088,7 +1135,7 @@
* @param taskVO 浠诲姟vo
* @param projectId 椤圭洰id
*/
- private void setRuntimeTaskInfo(Task task, CustomerTaskVO taskVO, Long projectId) {
+ private void setRuntimeTaskInfo(Task task, CustomerTaskVO taskVO, String projectId) {
// 褰撳墠娴佺▼淇℃伅
taskVO.setTaskId(task.getId());
taskVO.setCreateTime(task.getCreateTime());
@@ -1231,7 +1278,7 @@
* @param result
* @return
*/
- private List<CustomerTaskVO> getTimelyTask(Long projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
+ private List<CustomerTaskVO> getTimelyTask(String projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
int startNum = pageSize * (pageNum - 1);
int endNum = startNum + pageSize;
@@ -1443,7 +1490,7 @@
* @param result
* @return
*/
- private List<CustomerTaskVO> getOvertimeTask(Long projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
+ private List<CustomerTaskVO> getOvertimeTask(String projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
int startNum = pageSize * (pageNum - 1);
int endNum = startNum + pageSize;
@@ -1556,7 +1603,7 @@
* @param result
* @return
*/
- private List<CustomerTaskVO> getWillOvertimeTask(Long projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
+ private List<CustomerTaskVO> getWillOvertimeTask(String projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
int startNum = pageSize * (pageNum - 1);
int endNum = startNum + pageSize;
@@ -1631,7 +1678,7 @@
* @param result
* @return
*/
- private List<CustomerTaskVO> getRemainingTask(Long projectId,
+ private List<CustomerTaskVO> getRemainingTask(String projectId,
String processDefinitionId,
String processInsId,
String taskName,
@@ -1759,7 +1806,7 @@
* @param setType 0 璁剧疆璐d换鍗曚綅 1 璁剧疆鍔炵悊鍗曚綅
* @param vo
*/
- private void varYzReview(CustomerTaskVO vo, Long projectId, String processInsId, HandlerTypeEnum type, Integer setType) {
+ private void varYzReview(CustomerTaskVO vo, String projectId, String processInsId, HandlerTypeEnum type, Integer setType) {
ProjectProcess projectProcess = new LambdaQueryChainWrapper<>(projectProcessMapper)
.eq(ProjectProcess::getProjectId, projectId)
.eq(ProjectProcess::getProcessInsId, processInsId)
@@ -1829,7 +1876,7 @@
* @param projectId
* @param processInsId
*/
- private void setCandidateInfo(UserTask userTask, CustomerTaskVO vo, Long projectId, String processInsId) {
+ private void setCandidateInfo(UserTask userTask, CustomerTaskVO vo, String projectId, String processInsId) {
if (StringUtils.isNotBlank(userTask.getAssignee())) {
SysUser sysUser = sysUserService.selectUserById(Long.parseLong(userTask.getAssignee()));
if (Objects.nonNull(sysUser)) {
diff --git a/business/src/main/java/com/ycl/task/FlowableTask.java b/business/src/main/java/com/ycl/task/FlowableTask.java
index 02c1455..d6c0e5f 100644
--- a/business/src/main/java/com/ycl/task/FlowableTask.java
+++ b/business/src/main/java/com/ycl/task/FlowableTask.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.common.enums.business.ProcessLogEventTypeEnum;
+import com.ycl.common.enums.business.ProjectProcessTypeEnum;
import com.ycl.domain.entity.ProcessCoding;
import com.ycl.domain.entity.ProcessLog;
import com.ycl.domain.entity.ProjectInfo;
@@ -214,10 +215,11 @@
return;
}
- List<Long> projectIds = projectProcessMapper.selectList(
- new QueryWrapper<ProjectProcess>()
- .in("process_ins_id", processInstanceIds)
- ).stream()
+ List<String> projectIds = new LambdaQueryChainWrapper<>(projectProcessMapper)
+ .in(ProjectProcess::getProcessInsId, processInstanceIds)
+ .eq(ProjectProcess::getProjectType, ProjectProcessTypeEnum.PROJECT)
+ .list()
+ .stream()
.map(ProjectProcess::getProjectId)
.collect(Collectors.toList());
diff --git a/common/src/main/java/com/ycl/common/enums/business/ProjectProcessTypeEnum.java b/common/src/main/java/com/ycl/common/enums/business/ProjectProcessTypeEnum.java
new file mode 100644
index 0000000..377a832
--- /dev/null
+++ b/common/src/main/java/com/ycl/common/enums/business/ProjectProcessTypeEnum.java
@@ -0,0 +1,28 @@
+package com.ycl.common.enums.business;
+
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.Getter;
+
+/**
+ * 宸ヤ綔娴佷换鍔$姸鎬�
+ *
+ * @author锛歺p
+ * @date锛�2024/11/29 11:13
+ */
+@Getter
+public enum ProjectProcessTypeEnum {
+
+ PROJECT("PROJECT", "椤圭洰"),
+ ENGINEERING("ENGINEERING", "宸ョ▼"),
+ ;
+
+ private final String value;
+
+ @JsonValue
+ private final String desc;
+
+ ProjectProcessTypeEnum(String value, String desc) {
+ this.value = value;
+ this.desc = desc;
+ }
+}
diff --git a/flowable/src/main/java/com/ycl/domain/entity/ProcessLog.java b/flowable/src/main/java/com/ycl/domain/entity/ProcessLog.java
index e1bd568..246463a 100644
--- a/flowable/src/main/java/com/ycl/domain/entity/ProcessLog.java
+++ b/flowable/src/main/java/com/ycl/domain/entity/ProcessLog.java
@@ -35,7 +35,7 @@
@TableField("project_id")
/** 椤圭洰id */
- private Long projectId;
+ private String projectId;
@TableField("process_ins_id")
/** 娴佺▼瀹炰緥id */
diff --git a/flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java b/flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java
index a9655e4..8448514 100644
--- a/flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java
+++ b/flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java
@@ -32,7 +32,7 @@
/** 椤圭洰id */
@ApiModelProperty("椤圭洰id")
- private Long projectId;
+ private String projectId;
/** 娴佺▼瀹炰緥id */
@ApiModelProperty("娴佺▼瀹炰緥id")
diff --git "a/project_management_\346\255\243\345\274\217\346\225\260\346\215\256.sql" "b/project_management_\346\255\243\345\274\217\346\225\260\346\215\256.sql"
new file mode 100644
index 0000000..e626dd1
--- /dev/null
+++ "b/project_management_\346\255\243\345\274\217\346\225\260\346\215\256.sql"
Binary files differ
--
Gitblit v1.8.0