Merge branch 'feature/REQ-3488-syl' into 'feature/REQ-3488'

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

See merge request universal/infrastructure/backend/orgmanax!116
This commit is contained in:
宋远伦 2025-01-06 03:19:22 +00:00
commit 7410b12c35
9 changed files with 78 additions and 54 deletions

View File

@ -30,7 +30,9 @@ import org.springframework.web.bind.annotation.RequestBody;
* @Desc: 班组分类内部接口 * @Desc: 班组分类内部接口
* @Version: 1.0 * @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 { public interface OrgProjectTeamCategoryApi {
/** /**
@ -110,6 +112,6 @@ public interface OrgProjectTeamCategoryApi {
/** /**
* 列表分页查询 * 列表分页查询
*/ */
@PostMapping(value = "/api/project/team-category/v2/page") @PostMapping(value = "/api/project/team-category/list")
ApiResult<PageResp<TeamCategoryDTO>> pageV2(@RequestBody PageOrgTeamCategoryReq req); 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; 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 * 创建人的自然人id
*/ */

View File

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

View File

@ -46,7 +46,7 @@ public interface TeamCategoryRepository {
* 组织节点idList * 组织节点idList
*/ */
@CriteriaField(field = "orgNodeId", operator = Operator.IN) @CriteriaField(field = "orgNodeId", operator = Operator.IN)
private List<Long> orgNodeIdList; private List<Long> orgNodeIds;
/** /**
* 班组类别code * 班组类别code
*/ */
@ -103,43 +103,6 @@ public interface TeamCategoryRepository {
*/ */
@CriteriaField(ignore = true) @CriteriaField(ignore = true)
private Boolean includeDeleted; 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) @EqualsAndHashCode(callSuper = true)

View File

@ -77,7 +77,7 @@ public class OrgProjectTeamCategoryController implements OrgProjectTeamCategoryA
} }
@Override @Override
public ApiResult<PageResp<TeamCategoryDTO>> pageV2(PageOrgTeamCategoryReq req) { public ApiResult<PageResp<TeamCategoryDTO>> list(PageOrgTeamCategoryReq req) {
return ApiResult.success(projectTeamCategoryService return ApiResult.success(projectTeamCategoryService
.page(BeanUtil.copyProperties(req, ListTeamCategoryReq.class))); .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.foundation.page.PageResp;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO; import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq; import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
import java.util.List;
/** /**
* @author syl * @author syl
@ -11,8 +12,14 @@ import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
public interface ProjectTeamCategoryFoundationService { public interface ProjectTeamCategoryFoundationService {
/** /**
* 查询班组类别 * 分页查询班组类别
* @return
*/ */
PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req); 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; 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.foundation.page.PageResp;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO; 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.foundation.ProjectTeamCategoryFoundationService;
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq; 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.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -17,8 +25,32 @@ import org.springframework.stereotype.Service;
@Service @Service
public class ProjectTeamCategoryFoundationServiceImpl implements ProjectTeamCategoryFoundationService { public class ProjectTeamCategoryFoundationServiceImpl implements ProjectTeamCategoryFoundationService {
private final TeamCategoryRepository teamCategoryRepository;
@Override @Override
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req) { public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq param) {
return null; 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.foundation.page.PageResp;
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO; 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.ProjectTeamCategoryService;
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq; import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
@ -15,9 +17,11 @@ import org.springframework.stereotype.Service;
@Service @Service
public class ProjectTeamCategoryServiceImpl implements ProjectTeamCategoryService { public class ProjectTeamCategoryServiceImpl implements ProjectTeamCategoryService {
@Autowired
private ProjectTeamCategoryFoundationService teamCategoryFoundationService;
@Override @Override
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req) { public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req) {
// todo // todo 扩展
return null; return teamCategoryFoundationService.page(req);
} }
} }