From 9fe44ac750508620330200608cd67127b9521aeb Mon Sep 17 00:00:00 2001
From: fangjiakai <450850793@qq.com>
Date: Tue, 7 Apr 2026 08:48:21 +0800
Subject: [PATCH] =?UTF-8?q?feat(task):=20=E5=AE=8C=E5=96=84=E4=BD=9C?=
=?UTF-8?q?=E4=B8=9A=E7=A5=A8=E6=B5=81=E7=A8=8B=E6=8E=A7=E5=88=B6=E5=92=8C?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 实现撤回作业票时保持原票号的逻辑判断
- 添加步骤意见信息的存储和处理功能
- 正式提交时重置作业创建时间为当前时间
- 优化作业创建人查询条件改为关联任务日志表匹配
---
.../com/zcloud/eightwork/command/TaskLogAddExe.java | 12 ++++++------
.../zcloud/eightwork/command/TaskLogUpdateExe.java | 5 +++++
.../persistence/dataobject/EightworkInfoDO.java | 4 ++++
.../main/resources/mapper/EightworkInfoMapper.xml | 9 ++++++---
4 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogAddExe.java b/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogAddExe.java
index 58953ca..51730a6 100644
--- a/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogAddExe.java
+++ b/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogAddExe.java
@@ -114,14 +114,14 @@ public class TaskLogAddExe {
// 5. 判断是否已有票号,没有则生成新票号
String checkNo = existingInfo.getCheckNo();
- if (org.apache.commons.lang.StringUtils.isBlank(checkNo)) {
- // 暂存后第一次正式提交,生成新票号
+ if (org.apache.commons.lang.StringUtils.isNotBlank(checkNo) && !ObjectUtil.equal(existingInfo.getStatus(),"2")) {
+ // 不是打回并且作业票不为空, 则为撤回作业票, 不生成新作业票
+ log.info("撤回作业票(不生成新票号): workId={}, checkNo={}", existingInfo.getWorkId(), checkNo);
+ } else {
+ // 不是撤回作业票 , 生成新作业票
checkNo = generateFormalCheckNo(cmd.getWorkType());
existingInfo.setCheckNo(checkNo);
- log.info("暂存转正式(生成新票号): workId={}, checkNo={}", existingInfo.getWorkId(), checkNo);
- } else {
- // 打回后重新提交,保持原票号
- log.info("暂存转正式(保持原票号): workId={}, checkNo={}", existingInfo.getWorkId(), checkNo);
+ log.info("(生成新票号): workId={}, checkNo={}", existingInfo.getWorkId(), checkNo);
}
existingInfo.setStatus(TaskLogStatus.APPROVED.getCode()); // 主表进行中=1
diff --git a/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java b/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java
index 12dfcda..8e714bb 100644
--- a/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java
+++ b/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java
@@ -1371,6 +1371,11 @@ public class TaskLogUpdateExe {
stepInfo.put("filePath", logDO.getFilePath());
}
+ // 有填写意见步骤,添加意见
+ if (StringUtils.isNotBlank(logDO.getRemarks())) {
+ stepInfo.put("remarks", logDO.getRemarks());
+ }
+
// 其他自定义步骤,添加 otherParams
if (StringUtils.isNotBlank(logDO.getOtherParams())) {
try {
diff --git a/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/dataobject/EightworkInfoDO.java b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/dataobject/EightworkInfoDO.java
index c069f65..105f80f 100644
--- a/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/dataobject/EightworkInfoDO.java
+++ b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/dataobject/EightworkInfoDO.java
@@ -9,6 +9,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
+import java.time.LocalDateTime;
+
/**
* web-infrastructure
*
@@ -87,6 +89,8 @@ public class EightworkInfoDO extends BaseDO {
this.info = info.toJSONString();
this.departmentId = departmentId;
this.departmentName = departmentName;
+ // 正式提交重置创建时间
+ this.createTime = LocalDateTime.now();
}
}
diff --git a/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml b/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml
index 8e92b82..cd09095 100644
--- a/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml
+++ b/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml
@@ -23,9 +23,6 @@
and t.department_id = #{params.eqDepartmentId}
-
- and t.create_id = #{params.eqCreateId}
-
and t.xgf_flag = #{params.eqXgfFlag}
@@ -35,6 +32,12 @@
and t.project_id = #{params.eqProjectId}
+
+ and exists (select 1
+ from task_log log
+ where log.work_id = t.work_id
+ and log.act_user = #{params.eqCreateId})
+
and exists (select 1