派工查询sql修改

This commit is contained in:
Ledo 2025-07-18 10:59:37 +08:00
parent f51339f806
commit e401652ec4

View File

@ -316,63 +316,53 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
.leftJoin(ProcessBomDetailDO.class, "d", ProcessBomDetailDO::getId, TaskDispatchDO::getBomDetailId) .leftJoin(ProcessBomDetailDO.class, "d", ProcessBomDetailDO::getId, TaskDispatchDO::getBomDetailId)
.leftJoin(ProcedureDO.class, "e", ProcedureDO::getId, TaskDispatchDetailDO::getProcedureId) .leftJoin(ProcedureDO.class, "e", ProcedureDO::getId, TaskDispatchDetailDO::getProcedureId)
.leftJoin(TaskReportDO.class, "f", TaskReportDO::getDispatchDetailId, TaskDispatchDetailDO::getId) .leftJoin(TaskReportDO.class, "f", TaskReportDO::getDispatchDetailId, TaskDispatchDetailDO::getId)
.ne(ProjectOrderDO::getStatus,6)
.groupBy(TaskDispatchDetailDO::getId) .groupBy(TaskDispatchDetailDO::getId)
.disableSubLogicDel(); .disableSubLogicDel();;
if (reqVO.getSubOrDetailName() != null && !reqVO.getSubOrDetailName().trim().equals("")){
query.apply("(b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')");
}
if (reqVO.getProcedureStatusList().size() == 1 && reqVO.getProcedureStatusList().get(0) == 2) { if (reqVO.getProcedureStatusList().size() == 1 && reqVO.getProcedureStatusList().get(0) == 2) {
// 完工降序 // 完工降序
query.orderByDesc(TaskDispatchDetailDO::getDispatchId, TaskDispatchDetailDO::getSort); query.orderByDesc(TaskDispatchDetailDO::getDispatchId, TaskDispatchDetailDO::getSort);
} else { } else {
// 未完工升序 // 未完工升序
query.eq(TaskDispatchDO::getDispatchStatus, 2) query.eq(TaskDispatchDO::getDispatchStatus, 2)
.orderByAsc(TaskDispatchDetailDO::getDispatchId,TaskDispatchDetailDO::getSort) .orderByAsc(TaskDispatchDetailDO::getDispatchId, TaskDispatchDetailDO::getSort);
;
} }
// if (CollUtil.isNotEmpty(postIds)) {
// query.and(i -> i if (reqVO.getSubOrDetailName() != null && !reqVO.getSubOrDetailName().trim().equals("")){
// .and(j -> j.in(TaskDispatchDetailDO::getPostId, postIds)) query.and( e ->e.like(ProjectOrderDO::getProjectName, reqVO.getSubOrDetailName()).or().like(
// .and(j -> j.isNull(TaskDispatchDetailDO::getOwner)) ProjectOrderSubDO::getName, reqVO.getSubOrDetailName()
// .or(k-> k.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner())) ));
// ); // query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')");
// }else{ }
// query.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner()); query.and(wrapper -> {
// } wrapper.ne(ProjectOrderDO::getStatus,6);
if (CollUtil.isNotEmpty(postIds)) { if (CollUtil.isNotEmpty(postIds)) {
query.and(i -> { wrapper.and(i -> {
// 为每个岗位创建对应的工序查询条件 // 为每个岗位创建对应的工序查询条件
for (String postId : postIds.keySet()) { for (String postId : postIds.keySet()) {
Long processId = postIds.get(postId); Long processId = postIds.get(postId);
if (ObjectUtil.isNotEmpty(processId)) { if (ObjectUtil.isNotEmpty(processId)) {
i.or(j -> j i.or(j -> j.eq(TaskDispatchDetailDO::getPostId, postId)
.eq(TaskDispatchDetailDO::getPostId, postId)
.eq(TaskDispatchDetailDO::getProcedureId, processId) .eq(TaskDispatchDetailDO::getProcedureId, processId)
.isNull(TaskDispatchDetailDO::getOwner) .isNull(TaskDispatchDetailDO::getOwner));
);
} else { } else {
i.or(j -> j i.or(j -> j.eq(TaskDispatchDetailDO::getPostId, postId)
.eq(TaskDispatchDetailDO::getPostId, postId) .isNull(TaskDispatchDetailDO::getOwner));
.isNull(TaskDispatchDetailDO::getOwner)
);
} }
} }
}); });
// 添加所有者查询条件 // 添加所有者查询条件
query.or(k-> k.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner())); wrapper.or(k -> k.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner()));
} else { } else {
query.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner()); wrapper.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner());
} }
query
.in(CollUtil.isNotEmpty(reqVO.getProcedureStatusList()), TaskDispatchDetailDO::getProcedureStatus, reqVO.getProcedureStatusList()) wrapper.in(CollUtil.isNotEmpty(reqVO.getProcedureStatusList()), TaskDispatchDetailDO::getProcedureStatus, reqVO.getProcedureStatusList())
.eq(reqVO.getIsReport() != null, ProcedureDO::getIsReport, reqVO.getIsReport()) .eq(reqVO.getIsReport() != null, ProcedureDO::getIsReport, reqVO.getIsReport())
.eq(!StringUtils.isEmpty(reqVO.getDispatchType()), TaskDispatchDO::getDispatchType, reqVO.getDispatchType()) .eq(!StringUtils.isEmpty(reqVO.getDispatchType()), TaskDispatchDO::getDispatchType, reqVO.getDispatchType())
.eq(reqVO.getTaskId() != null, TaskDispatchDO::getTaskId, reqVO.getTaskId()) .eq(reqVO.getTaskId() != null, TaskDispatchDO::getTaskId, reqVO.getTaskId())
.eq(reqVO.getBomDetailId() != null, TaskDispatchDO::getBomDetailId, reqVO.getBomDetailId()) .eq(reqVO.getBomDetailId() != null, TaskDispatchDO::getBomDetailId, reqVO.getBomDetailId());
; });
return selectPage(reqVO, query); return selectPage(reqVO, query);
} }