feat(task): 完善作业票流程控制和数据查询功能

- 实现撤回作业票时保持原票号的逻辑判断
- 添加步骤意见信息的存储和处理功能
- 正式提交时重置作业创建时间为当前时间
- 优化作业创建人查询条件改为关联任务日志表匹配
master
fangjiakai 2026-04-07 08:48:21 +08:00
parent 295646f330
commit 9fe44ac750
4 changed files with 21 additions and 9 deletions

View File

@ -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

View File

@ -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 {

View File

@ -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();
}
}

View File

@ -23,9 +23,6 @@
<if test="params.eqDepartmentId != null">
and t.department_id = #{params.eqDepartmentId}
</if>
<if test="params.eqCreateId != null">
and t.create_id = #{params.eqCreateId}
</if>
<if test="params.eqXgfFlag != null">
and t.xgf_flag = #{params.eqXgfFlag}
</if>
@ -35,6 +32,12 @@
<if test="params.eqProjectId != null and params.eqProjectId != ''">
and t.project_id = #{params.eqProjectId}
</if>
<if test="params.eqCreateId != null">
and exists (select 1
from task_log log
where log.work_id = t.work_id
and log.act_user = #{params.eqCreateId})
</if>
<if test="params.eqWorkDepartmentId != null">
and exists (select 1