feat(REQ-3488): 新增简单版分页查询班组类别

This commit is contained in:
songyuanlun 2025-01-06 11:18:14 +08:00
parent f6da3219db
commit 233f7857ed
9 changed files with 78 additions and 54 deletions

View File

@ -30,7 +30,9 @@ import org.springframework.web.bind.annotation.RequestBody;
* @Desc: 班组分类内部接口
* @Version: 1.0
*/
@FeignClient(name = "org-gateway", url = "${axzo.service.org-gateway:http://org-gateway:8080}")
@FeignClient(
value = "orgmanax",
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
public interface OrgProjectTeamCategoryApi {
/**
@ -110,6 +112,6 @@ public interface OrgProjectTeamCategoryApi {
/**
* 列表分页查询
*/
@PostMapping(value = "/api/project/team-category/v2/page")
ApiResult<PageResp<TeamCategoryDTO>> pageV2(@RequestBody PageOrgTeamCategoryReq req);
@PostMapping(value = "/api/project/team-category/list")
ApiResult<PageResp<TeamCategoryDTO>> list(@RequestBody PageOrgTeamCategoryReq req);
}

View File

@ -0,0 +1,9 @@
###
# 分页查询班组类别
POST {{host}}/api/project/team-category/list
Content-Type: application/json
Accept: application/json
{
"orgNodeIds": [14606,14585]
}

View File

@ -66,16 +66,19 @@ public class TeamCategoryDTO implements Serializable {
private String parentCode;
/**
* 班组类别 - 分类
* @see TeamCategoryTypeEnum
*/
private TeamCategoryTypeEnum type;
private Integer type;
/**
* 班组类别使用场景
* @see TeamSceneEnum
*/
private TeamSceneEnum scene;
private String scene;
/**
* 数据有效性标记
* @see ValidationEnum
*/
private ValidationEnum valid;
private Integer valid;
/**
* 创建人的自然人id
*/

View File

@ -11,6 +11,7 @@ import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@ -25,7 +26,8 @@ import lombok.experimental.SuperBuilder;
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("team_category")
@EqualsAndHashCode(callSuper = false)
@TableName(value = "team_category", autoResultMap = true)
public class TeamCategory implements Serializable {
private static final long serialVersionUID = -5630510028680541910L;
@ -75,16 +77,18 @@ public class TeamCategory implements Serializable {
private String parentCode;
/**
* 班组类别 - 分类
* @see TeamCategoryTypeEnum
*/
private TeamCategoryTypeEnum type;
private Integer type;
/**
* 班组类别使用场景
*/
private TeamSceneEnum scene;
/**
* 数据有效性标记
* @see ValidationEnum
*/
private ValidationEnum valid;
private Integer valid;
/**
* 创建人的自然人id
*/

View File

@ -46,7 +46,7 @@ public interface TeamCategoryRepository {
* 组织节点idList
*/
@CriteriaField(field = "orgNodeId", operator = Operator.IN)
private List<Long> orgNodeIdList;
private List<Long> orgNodeIds;
/**
* 班组类别code
*/
@ -103,43 +103,6 @@ public interface TeamCategoryRepository {
*/
@CriteriaField(ignore = true)
private Boolean includeDeleted;
// ==============
// /**
// * 岗位id
// */
// @CriteriaField(field = "id", operator = Operator.IN)
// private Collection<Long> ids;
//
// @CriteriaField(field = "code", operator = Operator.IN)
// private Collection<String> codes;
// @CriteriaField
// private String code;
//
// /**
// * 岗位类型
// */
// @CriteriaField(field = "type")
// private OrgJobTypeEnum type;
//
// /**
// * 搜索关键字
// * Notice: 名称或别名的模糊搜索
// */
// @CriteriaField(ignore = true)
// private String keyword;
// @CriteriaField(field = "name")
// private String name;
// @CriteriaField(field = "name", operator = Operator.LIKE)
// private String nameLike;
//
// /**
// * 关联身份类型 1工人 2班组长 3从业人员 5运营人员
// */
// private Integer identityType;
}
@EqualsAndHashCode(callSuper = true)

View File

@ -77,7 +77,7 @@ public class OrgProjectTeamCategoryController implements OrgProjectTeamCategoryA
}
@Override
public ApiResult<PageResp<TeamCategoryDTO>> pageV2(PageOrgTeamCategoryReq req) {
public ApiResult<PageResp<TeamCategoryDTO>> list(PageOrgTeamCategoryReq req) {
return ApiResult.success(projectTeamCategoryService
.page(BeanUtil.copyProperties(req, ListTeamCategoryReq.class)));
}

View File

@ -3,6 +3,7 @@ package cn.axzo.orgmanax.server.project.team.foundation;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
import java.util.List;
/**
* @author syl
@ -11,8 +12,14 @@ import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
public interface ProjectTeamCategoryFoundationService {
/**
* 查询班组类别
* @return
* 分页查询班组类别
*/
PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req);
/**
* 查询班组类别
* 仅内部使用
*/
List<TeamCategoryDTO> pageAll(ListTeamCategoryReq param);
}

View File

@ -1,9 +1,17 @@
package cn.axzo.orgmanax.server.project.team.foundation.impl;
import static cn.axzo.orgmanax.dto.job.dto.OrgJobConstants.JOB_PAGE_SIZE;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
import cn.axzo.orgmanax.infra.dao.project.team.repository.TeamCategoryRepository;
import cn.axzo.orgmanax.infra.dao.project.team.repository.TeamCategoryRepository.TeamCategoryResp;
import cn.axzo.orgmanax.server.project.team.foundation.ProjectTeamCategoryFoundationService;
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import java.util.ArrayList;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -17,8 +25,32 @@ import org.springframework.stereotype.Service;
@Service
public class ProjectTeamCategoryFoundationServiceImpl implements ProjectTeamCategoryFoundationService {
private final TeamCategoryRepository teamCategoryRepository;
@Override
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req) {
return null;
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq param) {
PageResp<TeamCategoryResp> page = teamCategoryRepository.page(
BeanUtil.copyProperties(param, TeamCategoryRepository.PageReq.class));
return PageResp.<TeamCategoryDTO>builder()
.size(page.getSize())
.current(page.getCurrent())
.total(page.getTotal())
.data(BeanUtil.copyToList(page.getData(), TeamCategoryDTO.class))
.build();
}
@Override
public List<TeamCategoryDTO> pageAll(ListTeamCategoryReq param) {
List<TeamCategoryDTO> categoryList = new ArrayList<>();
PageResp<TeamCategoryDTO> pageResp;
int pageNumber = 0;
param.setPageSize(JOB_PAGE_SIZE);
do {
param.setPage(++pageNumber);
pageResp = this.page(param);
if (CollUtil.isNotEmpty(pageResp.getData())) {
categoryList.addAll(pageResp.getData());
}
} while (pageResp.hasNext());
return categoryList;
}
}

View File

@ -2,9 +2,11 @@ package cn.axzo.orgmanax.server.project.team.service.impl;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
import cn.axzo.orgmanax.server.project.team.foundation.ProjectTeamCategoryFoundationService;
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamCategoryService;
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@ -15,9 +17,11 @@ import org.springframework.stereotype.Service;
@Service
public class ProjectTeamCategoryServiceImpl implements ProjectTeamCategoryService {
@Autowired
private ProjectTeamCategoryFoundationService teamCategoryFoundationService;
@Override
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req) {
// todo
return null;
// todo 扩展
return teamCategoryFoundationService.page(req);
}
}