新增查询合同分页功能
在AdminUserMapper中添加了新的分页查询方法selectContractPage,该方法根据LaborContractPageReqVO参数从数据库中检索合同数据,并返回LaborContractRespVO类型的分页结果。
This commit is contained in:
parent
08b86ed048
commit
6672357229
@ -4,12 +4,16 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.dto.UserPageDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSimpleRespVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsTypeDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@ -17,6 +21,7 @@ import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@Mapper
|
||||
public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
||||
@ -107,4 +112,45 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
||||
* @return
|
||||
*/
|
||||
IPage<UserSimpleRespVO> getAllUserListByGroupIds(@Param("mpPage") IPage mpPage, @Param("dto") UserPageDTO dto);
|
||||
|
||||
default IPage<LaborContractRespVO> selectContractPage(IPage<LaborContractRespVO> mpPage, LaborContractPageReqVO pageReqVO) {
|
||||
|
||||
MPJLambdaWrapperX<AdminUserDO> queryWrapper = new MPJLambdaWrapperX<AdminUserDO>()
|
||||
.selectAs("a.id", LaborContractRespVO::getId)
|
||||
.selectAs(AdminUserDO::getId, LaborContractRespVO::getUserId)
|
||||
.selectAs(AdminUserDO::getNickname, LaborContractRespVO::getUserName)
|
||||
.selectAs(AdminUserDO::getDeptId, LaborContractRespVO::getDeptId)
|
||||
.selectAs(DeptDO::getName, LaborContractRespVO::getDeptName)
|
||||
.selectAs("a.signingDate", LaborContractRespVO::getSigningDate)
|
||||
.selectAs("a.expirationDate", LaborContractRespVO::getExpirationDate)
|
||||
.selectAs("a.contractDuration", LaborContractRespVO::getContractDuration)
|
||||
.selectAs("a.probationPeriodTime", LaborContractRespVO::getProbationPeriodTime)
|
||||
.selectAs("a.status", LaborContractRespVO::getStatus)
|
||||
.selectAs("a.createTime", LaborContractRespVO::getCreateTime)
|
||||
.selectCount("a.id", LaborContractRespVO::getSigningCount);
|
||||
queryWrapper.innerJoin(DeptDO.class, DeptDO::getId, AdminUserDO::getDeptId)
|
||||
.leftJoin("(SELECT\n" +
|
||||
" id,\n" +
|
||||
" user_id,\n" +
|
||||
" signing_date AS signingDate,\n" +
|
||||
" expiration_date AS expirationDate,\n" +
|
||||
" contract_duration AS contractDuration,\n" +
|
||||
" status,\n" +
|
||||
" MAX( create_time ) AS createTime\n" +
|
||||
" FROM\n" +
|
||||
" system_labor_contract\n" +
|
||||
" WHERE\n" +
|
||||
" deleted = 0\n" +
|
||||
" GROUP BY\n" +
|
||||
" id) a on a.id = t.id");
|
||||
queryWrapper.likeIfPresent(AdminUserDO::getNickname, pageReqVO.getUserName());
|
||||
queryWrapper.eqIfPresent(AdminUserDO::getDeptId, pageReqVO.getDeptId());
|
||||
queryWrapper.between(Objects.nonNull(pageReqVO.getSigningDate()), "a.signingDate", pageReqVO.getSigningDate()[0], pageReqVO.getSigningDate()[1]);
|
||||
queryWrapper.between(Objects.nonNull(pageReqVO.getExpirationDate()), "a.expirationDate", pageReqVO.getExpirationDate()[0], pageReqVO.getExpirationDate()[1]);
|
||||
queryWrapper.eq(Objects.nonNull(pageReqVO.getStatus()),"a.status", pageReqVO.getStatus());
|
||||
queryWrapper.groupBy(AdminUserDO::getId);
|
||||
queryWrapper.orderByAsc("a.status");
|
||||
|
||||
return selectJoinPage(mpPage, LaborContractRespVO.class, queryWrapper);
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="selectUserByBoss">
|
||||
<select id="selectUserByBoss" resultType="java.lang.Long">
|
||||
SELECT DISTINCT
|
||||
a.id
|
||||
FROM
|
||||
|
Loading…
Reference in New Issue
Block a user