Merge remote-tracking branch 'origin/master'
commit
18febcd7af
|
|
@ -1,7 +1,6 @@
|
||||||
package com.zcloud.eightwork.command;
|
package com.zcloud.eightwork.command;
|
||||||
|
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.zcloud.eightwork.domain.gateway.TaskLogGateway;
|
import com.zcloud.eightwork.domain.gateway.TaskLogGateway;
|
||||||
import com.zcloud.eightwork.domain.model.TaskLogE;
|
import com.zcloud.eightwork.domain.model.TaskLogE;
|
||||||
import com.zcloud.eightwork.domain.model.enums.TaskLogStatus;
|
import com.zcloud.eightwork.domain.model.enums.TaskLogStatus;
|
||||||
|
|
@ -9,8 +8,9 @@ import com.zcloud.eightwork.dto.EightworkInfoWithdrawCmd;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.TaskLogDO;
|
import com.zcloud.eightwork.persistence.dataobject.TaskLogDO;
|
||||||
import com.zcloud.eightwork.persistence.repository.EightworkInfoRepository;
|
import com.zcloud.eightwork.persistence.repository.EightworkInfoRepository;
|
||||||
import com.zcloud.eightwork.persistence.repository.MeasuresLogsRepository;
|
|
||||||
import com.zcloud.eightwork.persistence.repository.TaskLogRepository;
|
import com.zcloud.eightwork.persistence.repository.TaskLogRepository;
|
||||||
|
import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil;
|
||||||
|
import com.zcloud.gbscommon.todolistmq.event.TodoListDeleteByForeignEvent;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
@ -39,7 +39,7 @@ public class EightworkInfoWithdrawExe {
|
||||||
private final EightworkInfoRepository eightworkInfoRepository;
|
private final EightworkInfoRepository eightworkInfoRepository;
|
||||||
private final TaskLogRepository taskLogRepository;
|
private final TaskLogRepository taskLogRepository;
|
||||||
private final TaskLogGateway taskLogGateway;
|
private final TaskLogGateway taskLogGateway;
|
||||||
private final MeasuresLogsRepository measuresLogsRepository;
|
private final TodoListEventPusherUtil todoListEventPusherUtil;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void execute(EightworkInfoWithdrawCmd cmd) {
|
public void execute(EightworkInfoWithdrawCmd cmd) {
|
||||||
|
|
@ -77,7 +77,7 @@ public class EightworkInfoWithdrawExe {
|
||||||
// 5. 再次检查状态(防止在检查期间状态被修改)
|
// 5. 再次检查状态(防止在检查期间状态被修改)
|
||||||
EightworkInfoDO latestInfo = eightworkInfoRepository.getById(cmd.getId());
|
EightworkInfoDO latestInfo = eightworkInfoRepository.getById(cmd.getId());
|
||||||
if (!latestInfo.getStatus().equals(currentStatus) ||
|
if (!latestInfo.getStatus().equals(currentStatus) ||
|
||||||
!latestInfo.getLockFlag().equals(currentLockFlag)) {
|
!latestInfo.getLockFlag().equals(currentLockFlag)) {
|
||||||
log.warn("撤回失败:作业状态已被修改 originalStatus={}, originalLockFlag={}, currentStatus={}, currentLockFlag={}",
|
log.warn("撤回失败:作业状态已被修改 originalStatus={}, originalLockFlag={}, currentStatus={}, currentLockFlag={}",
|
||||||
currentStatus, currentLockFlag, latestInfo.getStatus(), latestInfo.getLockFlag());
|
currentStatus, currentLockFlag, latestInfo.getStatus(), latestInfo.getLockFlag());
|
||||||
throw new BizException("操作失败:作业状态已被修改,请刷新后重试");
|
throw new BizException("操作失败:作业状态已被修改,请刷新后重试");
|
||||||
|
|
@ -113,6 +113,9 @@ public class EightworkInfoWithdrawExe {
|
||||||
log.info("申请步骤状态已改为未开始");
|
log.info("申请步骤状态已改为未开始");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 6.4 删除待办
|
||||||
|
deleteTodoEvent(cmd.getId());
|
||||||
|
|
||||||
log.info("作业撤回成功: workId={}, id={}", workId, cmd.getId());
|
log.info("作业撤回成功: workId={}, id={}", workId, cmd.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -136,4 +139,18 @@ public class EightworkInfoWithdrawExe {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除待办事件
|
||||||
|
*/
|
||||||
|
private void deleteTodoEvent(Long workId) {
|
||||||
|
try {
|
||||||
|
TodoListDeleteByForeignEvent event = new TodoListDeleteByForeignEvent();
|
||||||
|
event.setForeignKey(workId);
|
||||||
|
todoListEventPusherUtil.sendMessageDeleteByForeignBatchEvent(event);
|
||||||
|
log.info("已删除待办: workId={}", workId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("删除待办事件失败: workId={}", workId, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ import com.zcloud.eightwork.persistence.repository.*;
|
||||||
import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil;
|
import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil;
|
||||||
import com.zcloud.gbscommon.todolistmq.event.TodoListAddEvent;
|
import com.zcloud.gbscommon.todolistmq.event.TodoListAddEvent;
|
||||||
import com.zcloud.gbscommon.todolistmq.event.TodoListCompleteEvent;
|
import com.zcloud.gbscommon.todolistmq.event.TodoListCompleteEvent;
|
||||||
|
import com.zcloud.gbscommon.todolistmq.event.TodoListDeleteByForeignEvent;
|
||||||
import com.zcloud.gbscommon.utils.Tools;
|
import com.zcloud.gbscommon.utils.Tools;
|
||||||
import com.zcloud.gbscommon.utils.UuidUtil;
|
import com.zcloud.gbscommon.utils.UuidUtil;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
|
@ -272,7 +273,7 @@ public class TaskLogUpdateExe {
|
||||||
|
|
||||||
// 非申请步骤完成时,更新主表 lockFlag 为锁定状态(不可撤回)
|
// 非申请步骤完成时,更新主表 lockFlag 为锁定状态(不可撤回)
|
||||||
if (!APPLY_STEP_ID.equals(currentLog.getStepId()) &&
|
if (!APPLY_STEP_ID.equals(currentLog.getStepId()) &&
|
||||||
TaskLogStatus.APPROVED.equalsCode(cmd.getStatus())) {
|
TaskLogStatus.APPROVED.equalsCode(cmd.getStatus())) {
|
||||||
updateLockFlagToLocked(cmd.getWorkId());
|
updateLockFlagToLocked(cmd.getWorkId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -736,6 +737,9 @@ public class TaskLogUpdateExe {
|
||||||
FORCE_TERMINATE_STATUS
|
FORCE_TERMINATE_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 删除待办
|
||||||
|
deleteTodoEvent(getWorkId(cmd.getWorkId()));
|
||||||
|
|
||||||
log.info("工作流已强制终止: workId={}, skippedSteps={}", cmd.getWorkId(), actionLogs.size() - 1);
|
log.info("工作流已强制终止: workId={}, skippedSteps={}", cmd.getWorkId(), actionLogs.size() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1326,6 +1330,19 @@ public class TaskLogUpdateExe {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除待办事件
|
||||||
|
*/
|
||||||
|
private void deleteTodoEvent(Long workId) {
|
||||||
|
try {
|
||||||
|
TodoListDeleteByForeignEvent event = new TodoListDeleteByForeignEvent();
|
||||||
|
event.setForeignKey(workId);
|
||||||
|
todoListEventPusherUtil.sendMessageDeleteByForeignBatchEvent(event);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("删除待办事件失败: workId={}", workId, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取作业ID
|
* 获取作业ID
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ public class EightworkInfoPageQry extends PageQuery {
|
||||||
* - `le`: 小于等于比较查询
|
* - `le`: 小于等于比较查询
|
||||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||||
*/
|
*/
|
||||||
|
private String menuPath;
|
||||||
private String eqWorkType;
|
private String eqWorkType;
|
||||||
private List<Long> inCorpInfoId;
|
private List<Long> inCorpInfoId;
|
||||||
private String eqCheckNo;
|
private String eqCheckNo;
|
||||||
|
|
|
||||||
|
|
@ -14,15 +14,36 @@ import java.util.stream.Collectors;
|
||||||
@Getter
|
@Getter
|
||||||
public enum MenuEnum {
|
public enum MenuEnum {
|
||||||
|
|
||||||
HOT_WORK("/eightwork/container/enterprise/hotWork/homework/list", "hotwork-list"),
|
// ==================== 企业端 ====================
|
||||||
BLINDBOARD_WORK("/eightwork/container/enterprise/blindBoardWork/homework/list", "blindboardwork-list"),
|
QY_HOT_WORK("/eightwork/container/enterprise/hotWork/homework/list", "hotwork-qy-list"),
|
||||||
BREAKGROUND_WORK("/eightwork/container/enterprise/digWork/homework/list", "digwork-list"),
|
QY_BLINDBOARD_WORK("/eightwork/container/enterprise/blindBoardWork/homework/list", "blindboardwork-qy-list"),
|
||||||
CONFINEDSPACE("/eightwork/container/enterprise/confinedSpaceWork/ledger/list", "confinedspacework-ledger-list"),
|
QY_BREAKGROUND_WORK("/eightwork/container/enterprise/digWork/homework/list", "digwork-qy-list"),
|
||||||
CONFINEDSPACE_WORK("/eightwork/container/enterprise/confinedSpaceWork/homework/list", "confinedspacework-list"),
|
QY_CONFINEDSPACE("/eightwork/container/enterprise/confinedSpaceWork/ledger/list", "confinedspacework-ledger-qy-list"),
|
||||||
CUTROAD_WORK("/eightwork/container/enterprise/cutWork/homework/list", "cutwork-list"),
|
QY_CONFINEDSPACE_WORK("/eightwork/container/enterprise/confinedSpaceWork/homework/list", "confinedspacework-qy-list"),
|
||||||
ELECTRICITY_WORK("/eightwork/container/enterprise/electricWork/homework/list", "electricwork-list"),
|
QY_CUTROAD_WORK("/eightwork/container/enterprise/cutWork/homework/list", "cutwork-qy-list"),
|
||||||
HIGH_WORK("/eightwork/container/enterprise/highPlaceWork/homework/list", "highplacework-list"),
|
QY_ELECTRICITY_WORK("/eightwork/container/enterprise/electricWork/homework/list", "electricwork-qy-list"),
|
||||||
HOISTING("/eightwork/container/enterprise/liftingWork/homework/list", "liftingwork-list");
|
QY_HIGH_WORK("/eightwork/container/enterprise/highPlaceWork/homework/list", "highplacework-qy-list"),
|
||||||
|
QY_HOISTING("/eightwork/container/enterprise/liftingWork/homework/list", "liftingwork-qy-list"),
|
||||||
|
|
||||||
|
// ==================== 相关方端 ====================
|
||||||
|
XGF_HOT_WORK("/eightwork/container/stakeholder/hotWork/homework/list", "hotwork-xgf-list"),
|
||||||
|
XGF_CONFINEDSPACE_WORK("/eightwork/container/stakeholder/confinedSpaceWork/homework/list", "confinedspacework-xgf-list"),
|
||||||
|
XGF_HIGH_WORK("/eightwork/container/stakeholder/highPlaceWork/homework/list", "highplacework-xgf-list"),
|
||||||
|
XGF_HOISTING("/eightwork/container/stakeholder/liftingWork/homework/list", "liftingwork-xgf-list"),
|
||||||
|
XGF_BLINDBOARD_WORK("/eightwork/container/stakeholder/blindBoardWork/homework/list", "blindboardwork-xgf-list"),
|
||||||
|
XGF_BREAKGROUND_WORK("/eightwork/container/stakeholder/digWork/homework/list", "digwork-xgf-list"),
|
||||||
|
XGF_CUTROAD_WORK("/eightwork/container/stakeholder/cutWork/homework/list", "cutwork-xgf-list"),
|
||||||
|
XGF_ELECTRICITY_WORK("/eightwork/container/stakeholder/electricWork/homework/list", "electricwork-xgf-list"),
|
||||||
|
|
||||||
|
// ==================== 监管端 ====================
|
||||||
|
JG_HOT_WORK("/eightwork/container/supervision/hotWork/list", "hotwork-jg-list"),
|
||||||
|
JG_CONFINEDSPACE_WORK("/eightwork/container/supervision/confinedSpaceWork/list", "confinedspacework-jg-list"),
|
||||||
|
JG_HIGH_WORK("/eightwork/container/supervision/highPlaceWork/list", "highplacework-jg-list"),
|
||||||
|
JG_HOISTING("/eightwork/container/supervision/liftingWork/list", "liftingwork-jg-list"),
|
||||||
|
JG_BLINDBOARD_WORK("/eightwork/container/supervision/blindBoardWork/list", "blindboardwork-jg-list"),
|
||||||
|
JG_BREAKGROUND_WORK("/eightwork/container/supervision/digWork/list", "digwork-jg-list"),
|
||||||
|
JG_CUTROAD_WORK("/eightwork/container/supervision/cutWork/list", "cutwork-jg-list"),
|
||||||
|
JG_ELECTRICITY_WORK("/eightwork/container/supervision/electricWork/list", "electricwork-jg-list");
|
||||||
|
|
||||||
|
|
||||||
private final String path;
|
private final String path;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,16 @@
|
||||||
package com.zcloud.eightwork.persistence.mapper;
|
package com.zcloud.eightwork.persistence.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.ConfinedSpaceDO;
|
import com.zcloud.eightwork.persistence.dataobject.ConfinedSpaceDO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-infrastructure
|
* web-infrastructure
|
||||||
*
|
*
|
||||||
|
|
@ -11,7 +18,11 @@ import org.apache.ibatis.annotations.Mapper;
|
||||||
* @Date 2025-11-27 10:26:34
|
* @Date 2025-11-27 10:26:34
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
@DataScopes({
|
||||||
|
@DataScope(method = "listPage", menuPerms = ""),
|
||||||
|
})
|
||||||
public interface ConfinedSpaceMapper extends BaseMapper<ConfinedSpaceDO> {
|
public interface ConfinedSpaceMapper extends BaseMapper<ConfinedSpaceDO> {
|
||||||
|
|
||||||
|
IPage<EightworkInfoDO> listPage(Page<Map<String, Object>> page, Map<String, Object> params, String menuPerms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,12 @@ package com.zcloud.eightwork.persistence.repository.impl;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
|
import com.zcloud.eightwork.domain.model.enums.MenuEnum;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.ConfinedSpaceDO;
|
import com.zcloud.eightwork.persistence.dataobject.ConfinedSpaceDO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
||||||
import com.zcloud.eightwork.persistence.mapper.ConfinedSpaceMapper;
|
import com.zcloud.eightwork.persistence.mapper.ConfinedSpaceMapper;
|
||||||
import com.zcloud.eightwork.persistence.repository.ConfinedSpaceRepository;
|
import com.zcloud.eightwork.persistence.repository.ConfinedSpaceRepository;
|
||||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
|
|
@ -28,12 +31,9 @@ public class ConfinedSpaceRepositoryImpl extends BaseRepositoryImpl<ConfinedSpac
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResponse<ConfinedSpaceDO> listPage(Map<String, Object> params) {
|
public PageResponse<ConfinedSpaceDO> listPage(Map<String, Object> params) {
|
||||||
IPage<ConfinedSpaceDO> iPage = new Query<ConfinedSpaceDO>().getPage(params);
|
Page<Map<String,Object>> page = new Page<>(Integer.parseInt(params.get("pageIndex").toString()),Integer.parseInt(params.get("pageSize").toString()));
|
||||||
QueryWrapper<ConfinedSpaceDO> queryWrapper = new QueryWrapper<>();
|
IPage<EightworkInfoDO> iPage = confinedSpaceMapper.listPage(page, params,"confinedspacework-ledger-qy-list");
|
||||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
return PageHelper.pageToResponse(iPage, iPage.getRecords());
|
||||||
queryWrapper.orderByDesc("create_time");
|
|
||||||
IPage<ConfinedSpaceDO> result = confinedSpaceMapper.selectPage(iPage, queryWrapper);
|
|
||||||
return PageHelper.pageToResponse(result, result.getRecords());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,5 +4,28 @@
|
||||||
|
|
||||||
<mapper namespace="com.zcloud.eightwork.persistence.mapper.ConfinedSpaceMapper">
|
<mapper namespace="com.zcloud.eightwork.persistence.mapper.ConfinedSpaceMapper">
|
||||||
|
|
||||||
|
<select id="listPage" resultType="com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO">
|
||||||
|
select *
|
||||||
|
from
|
||||||
|
confined_space s
|
||||||
|
where
|
||||||
|
s.delete_enum = 'FALSE'
|
||||||
|
<if test="eqCorpinfoId != null">
|
||||||
|
and s.corpinfo_id = #{eqCorpinfoId}
|
||||||
|
</if>
|
||||||
|
<if test="eqType != null and eqType != ''">
|
||||||
|
and s.type = #{eqType}
|
||||||
|
</if>
|
||||||
|
<if test="eqRiskLevel != null and eqRiskLevel != ''">
|
||||||
|
and s.risk_level = #{eqRiskLevel}
|
||||||
|
</if>
|
||||||
|
<if test="likeName != null and likeName != ''">
|
||||||
|
and s.name like concat('%',#{likeName},'%')
|
||||||
|
</if>
|
||||||
|
<if test="likeCode != null and likeCode != ''">
|
||||||
|
and s.code like concat('%',#{likeCode},'%')
|
||||||
|
</if>
|
||||||
|
order by s.create_time desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,13 +32,6 @@
|
||||||
<if test="params.eqProjectId != null and params.eqProjectId != ''">
|
<if test="params.eqProjectId != null and params.eqProjectId != ''">
|
||||||
and t.project_id = #{params.eqProjectId}
|
and t.project_id = #{params.eqProjectId}
|
||||||
</if>
|
</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">
|
<if test="params.eqWorkDepartmentId != null">
|
||||||
and exists (select 1
|
and exists (select 1
|
||||||
from task_log log
|
from task_log log
|
||||||
|
|
@ -117,4 +110,3 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue