diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsAttendanceScheduleBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsAttendanceScheduleBo.java index 84d6c7c6..67c791b6 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsAttendanceScheduleBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsAttendanceScheduleBo.java @@ -31,6 +31,16 @@ public class WmsAttendanceScheduleBo extends BaseEntity { */ private Long userId; + /** + * 员工姓名(模糊查询) + */ + private String employeeName; + + /** + * 部门名称(模糊查询) + */ + private String employeeDept; + /** * 日期 */ diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java index bd031c7a..d5e05fad 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java @@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; import com.klp.domain.vo.WmsAttendanceShiftRuleVo; import com.klp.domain.vo.WmsAttendanceShiftVo; +import com.klp.domain.WmsEmployeeInfo; +import com.klp.mapper.WmsEmployeeInfoMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -42,6 +44,7 @@ public class WmsAttendanceScheduleServiceImpl implements IWmsAttendanceScheduleS private final WmsAttendanceScheduleMapper baseMapper; private final IWmsAttendanceShiftRuleService shiftRuleService; private final IWmsAttendanceShiftService shiftService; + private final WmsEmployeeInfoMapper employeeInfoMapper; /** * 查询排班(谁在哪天上班) @@ -65,7 +68,7 @@ public class WmsAttendanceScheduleServiceImpl implements IWmsAttendanceScheduleS */ @Override public TableDataInfo queryPageList(WmsAttendanceScheduleBo bo, PageQuery pageQuery) { - // 1. 构建 MP 标准分页对象 + resolveEmployeeNameAndDept(bo); Page page = pageQuery.build(); // 2. 调用 Mapper @@ -80,10 +83,35 @@ public class WmsAttendanceScheduleServiceImpl implements IWmsAttendanceScheduleS */ @Override public List queryList(WmsAttendanceScheduleBo bo) { + resolveEmployeeNameAndDept(bo); return baseMapper.selectScheduleWithDetails(bo.getUserId(), bo.getWorkDate(), bo.getShiftId(), bo.getStartDate(), bo.getEndDate(), bo.getUserIds()); } + private void resolveEmployeeNameAndDept(WmsAttendanceScheduleBo bo) { + boolean hasName = StringUtils.isNotBlank(bo.getEmployeeName()); + boolean hasDept = StringUtils.isNotBlank(bo.getEmployeeDept()); + if (!hasName && !hasDept) { + return; + } + LambdaQueryWrapper qw = Wrappers.lambdaQuery(); + qw.select(WmsEmployeeInfo::getInfoId); + if (hasName) { + qw.like(WmsEmployeeInfo::getName, bo.getEmployeeName()); + } + if (hasDept) { + qw.like(WmsEmployeeInfo::getDept, bo.getEmployeeDept()); + } + List ids = employeeInfoMapper.selectList(qw).stream() + .map(WmsEmployeeInfo::getInfoId) + .collect(Collectors.toList()); + if (ids.isEmpty()) { + bo.setUserIds(java.util.Collections.singletonList(-1L)); + } else { + bo.setUserIds(ids); + } + } + /** * 新增排班(谁在哪天上班) */ diff --git a/klp-wms/src/main/resources/mapper/klp/WmsAttendanceScheduleMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsAttendanceScheduleMapper.xml index 3254a0ff..0c4f8561 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsAttendanceScheduleMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsAttendanceScheduleMapper.xml @@ -98,6 +98,12 @@ AND s.work_date <= #{bo.endDate} + + AND s.user_id IN + + #{userIdItem} + + ORDER BY s.work_date DESC, s.user_id