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