派工查询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("")){ if (reqVO.getProcedureStatusList().size() == 1 && reqVO.getProcedureStatusList().get(0) == 2) {
query.apply("(b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')"); // 完工降序
query.orderByDesc(TaskDispatchDetailDO::getDispatchId, TaskDispatchDetailDO::getSort);
} else {
// 未完工升序
query.eq(TaskDispatchDO::getDispatchStatus, 2)
.orderByAsc(TaskDispatchDetailDO::getDispatchId, TaskDispatchDetailDO::getSort);
} }
if (reqVO.getProcedureStatusList().size()==1 && reqVO.getProcedureStatusList().get(0)==2){
//完工降序
query.orderByDesc(TaskDispatchDetailDO::getDispatchId,TaskDispatchDetailDO::getSort);
}else {
//未完工升序
query.eq(TaskDispatchDO::getDispatchStatus,2) if (reqVO.getSubOrDetailName() != null && !reqVO.getSubOrDetailName().trim().equals("")){
.orderByAsc(TaskDispatchDetailDO::getDispatchId,TaskDispatchDetailDO::getSort) query.and( e ->e.like(ProjectOrderDO::getProjectName, reqVO.getSubOrDetailName()).or().like(
; ProjectOrderSubDO::getName, reqVO.getSubOrDetailName()
));
// query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')");
} }
// if (CollUtil.isNotEmpty(postIds)) { query.and(wrapper -> {
// query.and(i -> i wrapper.ne(ProjectOrderDO::getStatus,6);
// .and(j -> j.in(TaskDispatchDetailDO::getPostId, postIds))
// .and(j -> j.isNull(TaskDispatchDetailDO::getOwner))
// .or(k-> k.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner()))
// );
// }else{
// query.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner());
// }
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.eq(TaskDispatchDetailDO::getPostId, postId)
i.or(j -> j .isNull(TaskDispatchDetailDO::getOwner));
.eq(TaskDispatchDetailDO::getPostId, postId)
.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{ wrapper.eq(reqVO.getOwner() != null, TaskDispatchDetailDO::getOwner, reqVO.getOwner());
query.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);
} }