feat(wms): 添加已删除数据查询功能

- 在WmsApprovalMapper中新增selectVoListWithDeleted方法用于查询未删除和已删除的审批数据
- 在WmsApprovalTaskMapper中新增selectVoListWithDeleted方法用于查询未删除和已删除的审批任务数据
- 更新WmsApprovalServiceImpl中审批任务查询逻辑,使用新的方法获取包含已删除数据的任务
- 更新WmsApprovalTaskServiceImpl中审批信息查询逻辑,使用新的方法获取包含已删除数据的审批
- 在XML映射文件中添加对应的SQL查询语句,支持按del_flag条件查询数据
This commit is contained in:
2026-04-29 13:07:48 +08:00
parent dde947516d
commit bbe451cb23
6 changed files with 52 additions and 11 deletions

View File

@@ -3,6 +3,9 @@ package com.klp.mapper;
import com.klp.domain.WmsApproval;
import com.klp.domain.vo.WmsApprovalVo;
import com.klp.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 通用审批(支持请假/外出等申请的审批Mapper接口
@@ -12,4 +15,11 @@ import com.klp.common.core.mapper.BaseMapperPlus;
*/
public interface WmsApprovalMapper extends BaseMapperPlus<WmsApprovalMapper, WmsApproval, WmsApprovalVo> {
/**
* 查询未删除和已删除的审批数据del_flag = 0 或 del_flag = 2
*
* @param approvalIds 审批ID列表
* @return 审批信息列表
*/
List<WmsApprovalVo> selectVoListWithDeleted(@Param("approvalIds") List<Long> approvalIds);
}

View File

@@ -3,6 +3,9 @@ package com.klp.mapper;
import com.klp.domain.WmsApprovalTask;
import com.klp.domain.vo.WmsApprovalTaskVo;
import com.klp.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 审批任务Mapper接口
@@ -12,4 +15,11 @@ import com.klp.common.core.mapper.BaseMapperPlus;
*/
public interface WmsApprovalTaskMapper extends BaseMapperPlus<WmsApprovalTaskMapper, WmsApprovalTask, WmsApprovalTaskVo> {
/**
* 查询未删除和已删除的审批任务数据del_flag = 0 或 del_flag = 2
*
* @param approvalIds 审批ID列表
* @return 审批任务列表
*/
List<WmsApprovalTaskVo> selectVoListWithDeleted(@Param("approvalIds") List<Long> approvalIds);
}

View File

@@ -117,12 +117,8 @@ public class WmsApprovalServiceImpl implements IWmsApprovalService {
.map(WmsApprovalVo::getApprovalId)
.collect(Collectors.toList());
// 2.1 批量查询所有审批任务
List<WmsApprovalTaskVo> allTasks = approvalTaskMapper.selectVoList(
Wrappers.<com.klp.domain.WmsApprovalTask>lambdaQuery()
.in(com.klp.domain.WmsApprovalTask::getApprovalId, approvalIds)
.orderByAsc(com.klp.domain.WmsApprovalTask::getCreateTime)
);
// 2.1 批量查询所有审批任务(包括未删除和已删除的数据)
List<WmsApprovalTaskVo> allTasks = approvalTaskMapper.selectVoListWithDeleted(approvalIds);
// 2.2 按审批ID分组任务
Map<Long, List<WmsApprovalTaskVo>> tasksMap = allTasks.stream()

View File

@@ -9,6 +9,7 @@ import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.service.UserService;
import com.klp.common.utils.StringUtils;
import com.klp.domain.WmsApproval;
import com.klp.domain.WmsApprovalTask;
import com.klp.domain.bo.WmsApprovalTaskBo;
import com.klp.domain.vo.WmsApprovalTaskVo;
@@ -62,16 +63,13 @@ public class WmsApprovalTaskServiceImpl implements IWmsApprovalTaskService {
return TableDataInfo.build(new ArrayList<>());
}
// 收集所有approvalId查询审批信息
// 收集所有approvalId查询审批信息(包括未删除和已删除的数据)
List<Long> approvalIds = taskList.stream()
.map(WmsApprovalTaskVo::getApprovalId)
.distinct()
.collect(Collectors.toList());
List<WmsApprovalVo> approvalList = approvalMapper.selectVoList(
Wrappers.<com.klp.domain.WmsApproval>lambdaQuery()
.in(com.klp.domain.WmsApproval::getApprovalId, approvalIds)
);
List<WmsApprovalVo> approvalList = approvalMapper.selectVoListWithDeleted(approvalIds);
Map<Long, WmsApprovalVo> approvalMap = approvalList.stream()
.collect(Collectors.toMap(WmsApprovalVo::getApprovalId, v -> v, (a, b) -> a));

View File

@@ -24,5 +24,18 @@
<result property="remark" column="remark"/>
</resultMap>
<!-- 查询未删除和已删除的审批数据del_flag = 0 或 del_flag = 2 -->
<select id="selectVoListWithDeleted" resultType="com.klp.domain.vo.WmsApprovalVo">
SELECT *
FROM wms_approval
WHERE del_flag IN (0, 2)
<if test="approvalIds != null and approvalIds.size() > 0">
AND approval_id IN
<foreach collection="approvalIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</select>
</mapper>

View File

@@ -35,4 +35,18 @@
<result property="remark" column="remark"/>
</resultMap>
<!-- 查询未删除和已删除的审批任务数据del_flag = 0 或 del_flag = 2 -->
<select id="selectVoListWithDeleted" resultType="com.klp.domain.vo.WmsApprovalTaskVo">
SELECT *
FROM wms_approval_task
WHERE del_flag IN (0, 2)
<if test="approvalIds != null and approvalIds.size() > 0">
AND approval_id IN
<foreach collection="approvalIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
ORDER BY create_time ASC
</select>
</mapper>