feat(REQ-3488): 新增班组类别相关的表、dao、service
This commit is contained in:
parent
64be1db23e
commit
617239def6
@ -2,6 +2,7 @@ package cn.axzo.orgmanax.api.project.team.feign;
|
|||||||
|
|
||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
import cn.axzo.foundation.result.ApiResult;
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.GroupTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.GroupTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.OperateOrgTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.OperateOrgTeamCategoryReq;
|
||||||
@ -12,7 +13,6 @@ import cn.axzo.orgmanax.dto.project.team.req.PreCheckRemoveTeamCategoryReq;
|
|||||||
import cn.axzo.orgmanax.dto.project.team.req.RemoveProjectTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.RemoveProjectTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.SaveProjectTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.SaveProjectTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.SingletonOrgTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.SingletonOrgTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.OrgTeamCategoryResp;
|
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.RemoveTeamCategoryCheckResp;
|
import cn.axzo.orgmanax.dto.project.team.resp.RemoveTeamCategoryCheckResp;
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.SingletonOrgTeamCategoryResp;
|
import cn.axzo.orgmanax.dto.project.team.resp.SingletonOrgTeamCategoryResp;
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.TeamCategoryResp;
|
import cn.axzo.orgmanax.dto.project.team.resp.TeamCategoryResp;
|
||||||
@ -47,7 +47,7 @@ public interface OrgProjectTeamCategoryApi {
|
|||||||
* 先提供list 接口看能否满足需求
|
* 先提供list 接口看能否满足需求
|
||||||
*/
|
*/
|
||||||
@PostMapping("/api/project/team-category/page")
|
@PostMapping("/api/project/team-category/page")
|
||||||
ApiResult<PageResp<TeamCategoryDTO>> page(@RequestBody @Valid PageTeamCategoryReq req);
|
ApiResult<PageResp<TeamCategoryAggregateDTO>> page(@RequestBody @Valid PageTeamCategoryReq req);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo 三期实现
|
* todo 三期实现
|
||||||
@ -111,5 +111,5 @@ public interface OrgProjectTeamCategoryApi {
|
|||||||
* 列表分页查询
|
* 列表分页查询
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/api/project/team-category/v2/page")
|
@PostMapping(value = "/api/project/team-category/v2/page")
|
||||||
ApiResult<PageResp<OrgTeamCategoryResp>> pageV2(@RequestBody PageOrgTeamCategoryReq req);
|
ApiResult<PageResp<TeamCategoryDTO>> pageV2(@RequestBody PageOrgTeamCategoryReq req);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package cn.axzo.orgmanax.dto.invite.req;
|
package cn.axzo.orgmanax.dto.invite.req;
|
||||||
|
|
||||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.validation.constraints.Max;
|
import javax.validation.constraints.Max;
|
||||||
import javax.validation.constraints.Min;
|
import javax.validation.constraints.Min;
|
||||||
@ -50,7 +50,7 @@ public class ApplyOrgTeamInviteReq {
|
|||||||
* 经营范围
|
* 经营范围
|
||||||
*/
|
*/
|
||||||
@NotEmpty(message = "经营范围不能为空")
|
@NotEmpty(message = "经营范围不能为空")
|
||||||
private List<TeamCategoryDTO> categories;
|
private List<TeamCategoryAggregateDTO> categories;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 申请操作路径 1-链接-LINK 2-二维码-QRCODE
|
* 申请操作路径 1-链接-LINK 2-二维码-QRCODE
|
||||||
|
|||||||
@ -0,0 +1,63 @@
|
|||||||
|
package cn.axzo.orgmanax.dto.project.team.dto;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 经营范围DTO
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class TeamCategoryAggregateDTO {
|
||||||
|
/**
|
||||||
|
* 邀请id/申请id
|
||||||
|
*/
|
||||||
|
private Long inviteId;
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
private Long projectTeamId;
|
||||||
|
/**
|
||||||
|
* 经营范围code
|
||||||
|
*/
|
||||||
|
private String categoryCode;
|
||||||
|
/**
|
||||||
|
* 经营范围名称
|
||||||
|
*/
|
||||||
|
private String categoryName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父级经营范围code
|
||||||
|
*/
|
||||||
|
private String parentCategoryCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父级经营范围name
|
||||||
|
*/
|
||||||
|
private String parentCategoryName;
|
||||||
|
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
private Integer valid;
|
||||||
|
/**
|
||||||
|
* 经营范围子级
|
||||||
|
*/
|
||||||
|
private List<TeamCategoryAggregateDTO> workScopes;
|
||||||
|
|
||||||
|
public TeamCategoryAggregateDTO(String categoryCode, String categoryName) {
|
||||||
|
this.categoryCode = categoryCode;
|
||||||
|
this.categoryName = categoryName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TeamCategoryAggregateDTO(Long inviteId, Long projectTeamId, String categoryCode, String categoryName) {
|
||||||
|
this.inviteId = inviteId;
|
||||||
|
this.projectTeamId = projectTeamId;
|
||||||
|
this.categoryCode = categoryCode;
|
||||||
|
this.categoryName = categoryName;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,63 +1,92 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.dto;
|
package cn.axzo.orgmanax.dto.project.team.dto;
|
||||||
|
|
||||||
import java.util.List;
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.experimental.SuperBuilder;
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 经营范围DTO
|
* @description
|
||||||
|
* 班组类别存储模型
|
||||||
|
* @author luofu
|
||||||
|
* @version 1.0
|
||||||
|
* @date 2024/5/29
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@SuperBuilder
|
@SuperBuilder
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class TeamCategoryDTO {
|
@AllArgsConstructor
|
||||||
/**
|
public class TeamCategoryDTO implements Serializable {
|
||||||
* 邀请id/申请id
|
|
||||||
*/
|
|
||||||
private Long inviteId;
|
|
||||||
/**
|
|
||||||
* 班组id
|
|
||||||
*/
|
|
||||||
private Long projectTeamId;
|
|
||||||
/**
|
|
||||||
* 经营范围code
|
|
||||||
*/
|
|
||||||
private String categoryCode;
|
|
||||||
/**
|
|
||||||
* 经营范围名称
|
|
||||||
*/
|
|
||||||
private String categoryName;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 父级经营范围code
|
* 主键
|
||||||
*/
|
*/
|
||||||
private String parentCategoryCode;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 父级经营范围name
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
private String parentCategoryName;
|
private Date createAt;
|
||||||
|
|
||||||
private Integer type;
|
|
||||||
|
|
||||||
private Integer valid;
|
|
||||||
/**
|
/**
|
||||||
* 经营范围子级
|
* 更新时间
|
||||||
*/
|
*/
|
||||||
private List<TeamCategoryDTO> workScopes;
|
private Date updateAt;
|
||||||
|
|
||||||
public TeamCategoryDTO(String categoryCode, String categoryName) {
|
/**
|
||||||
this.categoryCode = categoryCode;
|
* 逻辑删除标识(0:未删除,其它:已删除)
|
||||||
this.categoryName = categoryName;
|
*/
|
||||||
}
|
private Long isDelete;
|
||||||
|
|
||||||
public TeamCategoryDTO(Long inviteId, Long projectTeamId, String categoryCode, String categoryName) {
|
/**
|
||||||
this.inviteId = inviteId;
|
* 租户id
|
||||||
this.projectTeamId = projectTeamId;
|
*/
|
||||||
this.categoryCode = categoryCode;
|
private Long workspaceId;
|
||||||
this.categoryName = categoryName;
|
/**
|
||||||
|
* 组织节点id
|
||||||
|
*/
|
||||||
|
private Long orgNodeId;
|
||||||
|
/**
|
||||||
|
* 班组类别code
|
||||||
|
*/
|
||||||
|
private String code;
|
||||||
|
/**
|
||||||
|
* 班组类别名称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
* 父级班组类别code
|
||||||
|
*/
|
||||||
|
private String parentCode;
|
||||||
|
/**
|
||||||
|
* 班组类别 - 分类
|
||||||
|
*/
|
||||||
|
private TeamCategoryTypeEnum type;
|
||||||
|
/**
|
||||||
|
* 班组类别使用场景
|
||||||
|
*/
|
||||||
|
private TeamSceneEnum scene;
|
||||||
|
/**
|
||||||
|
* 数据有效性标记
|
||||||
|
*/
|
||||||
|
private ValidationEnum valid;
|
||||||
|
/**
|
||||||
|
* 创建人的自然人id
|
||||||
|
*/
|
||||||
|
private Long createBy;
|
||||||
|
/**
|
||||||
|
* 更新人的自然人id
|
||||||
|
*/
|
||||||
|
private Long updateBy;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return JSON.toJSONString(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.req;
|
package cn.axzo.orgmanax.dto.project.team.req;
|
||||||
|
|
||||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
@ -26,5 +26,5 @@ public class SaveProjectTeamCategoryReq {
|
|||||||
* 经营范围
|
* 经营范围
|
||||||
*/
|
*/
|
||||||
@NotEmpty(message = "经营范围不能为空")
|
@NotEmpty(message = "经营范围不能为空")
|
||||||
private List<TeamCategoryDTO> teamCategories;
|
private List<TeamCategoryAggregateDTO> teamCategories;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.req;
|
package cn.axzo.orgmanax.dto.project.team.req;
|
||||||
|
|
||||||
|
import cn.axzo.orgmanax.dto.workerprofession.model.IBaseTree;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -21,7 +22,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
@SuperBuilder
|
@SuperBuilder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class TeamCategoryTreeNode implements Serializable {
|
public class TeamCategoryTreeNode implements Serializable, IBaseTree<TeamCategoryTreeNode, String> {
|
||||||
|
|
||||||
private static final long serialVersionUID = -5912767475140558043L;
|
private static final long serialVersionUID = -5912767475140558043L;
|
||||||
|
|
||||||
@ -56,19 +57,23 @@ public class TeamCategoryTreeNode implements Serializable {
|
|||||||
return JSON.toJSONString(this);
|
return JSON.toJSONString(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getNodeCode() {
|
public String getNodeCode() {
|
||||||
return this.code;
|
return this.code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getParentNodeCode() {
|
public String getParentNodeCode() {
|
||||||
return this.parentCode;
|
return this.parentCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<TeamCategoryTreeNode> getNodeChildren() {
|
public List<TeamCategoryTreeNode> getNodeChildren() {
|
||||||
return this.children;
|
return this.children;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setNodeChildren(List<TeamCategoryTreeNode> nodeChildren) {
|
public void setNodeChildren(List<TeamCategoryTreeNode> nodeChildren) {
|
||||||
this.children = nodeChildren;
|
this.children = nodeChildren;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.resp;
|
package cn.axzo.orgmanax.dto.project.team.resp;
|
||||||
|
|
||||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -25,5 +25,5 @@ public class TeamCategoryResp {
|
|||||||
/**
|
/**
|
||||||
* 经营范围列表
|
* 经营范围列表
|
||||||
*/
|
*/
|
||||||
private List<TeamCategoryDTO> categoryList;
|
private List<TeamCategoryAggregateDTO> categoryList;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||||
|
|
||||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
@ -90,5 +90,5 @@ public class ProjectGroupRes {
|
|||||||
/**
|
/**
|
||||||
* 经营范围
|
* 经营范围
|
||||||
*/
|
*/
|
||||||
List<TeamCategoryDTO> teamCategoryList;
|
List<TeamCategoryAggregateDTO> teamCategoryList;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,10 +7,8 @@ import cn.axzo.orgmanax.infra.dao.orgjob.dao.OrgJobGroupRelationDao;
|
|||||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJobGroupRelation;
|
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJobGroupRelation;
|
||||||
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobGroupRelationRepository;
|
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobGroupRelationRepository;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import java.util.List;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.commons.lang3.BooleanUtils;
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@ -34,10 +32,6 @@ public class OrgJobGroupRelationRepositoryImpl implements OrgJobGroupRelationRep
|
|||||||
IPage<OrgJobGroupRelation> results = orgJobGroupRelationDao.page(page, wrapper)
|
IPage<OrgJobGroupRelation> results = orgJobGroupRelationDao.page(page, wrapper)
|
||||||
.convert(e -> BeanUtil.toBean(e, OrgJobGroupRelation.class));
|
.convert(e -> BeanUtil.toBean(e, OrgJobGroupRelation.class));
|
||||||
PageResp<OrgJobGroupRelation> resp = PageConverter.toResp(results);
|
PageResp<OrgJobGroupRelation> resp = PageConverter.toResp(results);
|
||||||
List<OrgJobGroupRelation> records = resp.getData();
|
|
||||||
if (CollUtil.isEmpty(records)) {
|
|
||||||
return resp;
|
|
||||||
}
|
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,10 +7,8 @@ import cn.axzo.orgmanax.infra.dao.orgjob.dao.OrgJobGroupDao;
|
|||||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJobGroup;
|
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJobGroup;
|
||||||
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobGroupRepository;
|
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobGroupRepository;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import java.util.List;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.commons.lang3.BooleanUtils;
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@ -35,10 +33,6 @@ public class OrgJobGroupRepositoryImpl implements OrgJobGroupRepository {
|
|||||||
IPage<OrgJobGroup> results = orgJobGroupDao.page(page, wrapper)
|
IPage<OrgJobGroup> results = orgJobGroupDao.page(page, wrapper)
|
||||||
.convert(e -> BeanUtil.toBean(e, OrgJobGroup.class));
|
.convert(e -> BeanUtil.toBean(e, OrgJobGroup.class));
|
||||||
PageResp<OrgJobGroup> resp = PageConverter.toResp(results);
|
PageResp<OrgJobGroup> resp = PageConverter.toResp(results);
|
||||||
List<OrgJobGroup> records = resp.getData();
|
|
||||||
if (CollUtil.isEmpty(records)) {
|
|
||||||
return resp;
|
|
||||||
}
|
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import cn.axzo.orgmanax.infra.dao.orgjob.dao.OrgJobDao;
|
|||||||
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
|
||||||
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
|
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -15,8 +14,6 @@ import org.apache.commons.lang3.BooleanUtils;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Repository
|
@Repository
|
||||||
public class OrgJobQueryRepositoryImpl implements OrgJobQueryRepository {
|
public class OrgJobQueryRepositoryImpl implements OrgJobQueryRepository {
|
||||||
@ -42,10 +39,6 @@ public class OrgJobQueryRepositoryImpl implements OrgJobQueryRepository {
|
|||||||
IPage<JobResp> results = orgJobDao.page(page, wrapper)
|
IPage<JobResp> results = orgJobDao.page(page, wrapper)
|
||||||
.convert(e -> BeanUtil.toBean(e, JobResp.class));
|
.convert(e -> BeanUtil.toBean(e, JobResp.class));
|
||||||
PageResp<JobResp> resp = PageConverter.toResp(results);
|
PageResp<JobResp> resp = PageConverter.toResp(results);
|
||||||
List<JobResp> records = resp.getData();
|
|
||||||
if (CollUtil.isEmpty(records)) {
|
|
||||||
return resp;
|
|
||||||
}
|
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,151 @@
|
|||||||
|
package cn.axzo.orgmanax.infra.dao.project.team.dao;
|
||||||
|
|
||||||
|
import static cn.hutool.core.util.ObjectUtil.isNotEmpty;
|
||||||
|
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.entity.TeamCategory;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.mapper.TeamCategoryMapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author cold_blade
|
||||||
|
* @version 1.0
|
||||||
|
* @description (TeamCategory)表数据库访问层
|
||||||
|
* @date 2024/5/29
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public class TeamCategoryDao extends ServiceImpl<TeamCategoryMapper, TeamCategory> {
|
||||||
|
|
||||||
|
// public List<TeamCategory> listByBO(TeamCategoryBO bo) {
|
||||||
|
// LambdaQueryChainWrapper<TeamCategory> wrapper = lambdaQuery().eq(BaseEntity::getIsDelete, 0L)
|
||||||
|
// .eq(Objects.nonNull(bo.getWorkspaceId()), TeamCategory::getWorkspaceId, bo.getWorkspaceId())
|
||||||
|
// .eq(Objects.nonNull(bo.getOrgNodeId()), TeamCategory::getOrgNodeId, bo.getOrgNodeId())
|
||||||
|
// .in(CollUtil.isNotEmpty(bo.getOrgNodeIdList()), TeamCategory::getOrgNodeId, bo.getOrgNodeIdList())
|
||||||
|
// .eq(Objects.nonNull(bo.getCode()), TeamCategory::getCode, bo.getCode())
|
||||||
|
// .in(CollUtil.isNotEmpty(bo.getCodeList()), TeamCategory::getCode, bo.getCodeList())
|
||||||
|
// .like(Objects.nonNull(bo.getName()), TeamCategory::getName, bo.getName())
|
||||||
|
// .eq(Objects.nonNull(bo.getParentCode()), TeamCategory::getParentCode, bo.getParentCode())
|
||||||
|
// .eq(Objects.nonNull(bo.getType()), TeamCategory::getType, bo.getType())
|
||||||
|
// .in(CollUtil.isNotEmpty(bo.getTypeList()), TeamCategory::getType, bo.getTypeList())
|
||||||
|
// .eq(Objects.nonNull(bo.getCreateBy()), TeamCategory::getCreateBy, bo.getCreateBy())
|
||||||
|
// .eq(Objects.nonNull(bo.getUpdateBy()), TeamCategory::getUpdateBy, bo.getUpdateBy());
|
||||||
|
// if (Objects.isNull(bo.getValid())) {
|
||||||
|
// // 默认有效
|
||||||
|
// wrapper.eq(TeamCategory::getValid, ValidationEnum.EFFECTIVE);
|
||||||
|
// } else {
|
||||||
|
// wrapper.eq(TeamCategory::getValid, bo.getValid());
|
||||||
|
// }
|
||||||
|
// return wrapper.list();
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
public List<TeamCategory> listWorkspaceCategory(Long workspaceId) {
|
||||||
|
List<TeamCategory> list = lambdaQuery()
|
||||||
|
.select(TeamCategory::getCode, TeamCategory::getName)
|
||||||
|
.eq(TeamCategory::getScene, TeamSceneEnum.PROJECT_TEAM)
|
||||||
|
.eq(TeamCategory::getType, TeamCategoryTypeEnum.WORKER_GROUP_CATEGORY)
|
||||||
|
.eq(TeamCategory::getValid, ValidationEnum.EFFECTIVE)
|
||||||
|
.eq(TeamCategory::getWorkspaceId, workspaceId)
|
||||||
|
.eq(TeamCategory::getIsDelete, 0L)
|
||||||
|
.groupBy(TeamCategory::getCode)
|
||||||
|
.groupBy(TeamCategory::getName)
|
||||||
|
.list();
|
||||||
|
|
||||||
|
return isNotEmpty(list) ? list : Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public TeamCategory getByCodeAndProjectTeam(Long projectNodeId, String code) {
|
||||||
|
return lambdaQuery()
|
||||||
|
.eq(TeamCategory::getScene, TeamSceneEnum.PROJECT_TEAM)
|
||||||
|
.eq(TeamCategory::getOrgNodeId, projectNodeId)
|
||||||
|
.eq(TeamCategory::getCode, code)
|
||||||
|
.eq(TeamCategory::getIsDelete, 0L)
|
||||||
|
.last("limit 1")
|
||||||
|
.one();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<TeamCategory> getProjectTeamCategories(Long projectNodeId, ValidationEnum... states) {
|
||||||
|
List<ValidationEnum> statesList = Collections.emptyList();
|
||||||
|
if (states != null) {
|
||||||
|
statesList = Arrays.asList(states);
|
||||||
|
}
|
||||||
|
return lambdaQuery()
|
||||||
|
.eq(TeamCategory::getScene, TeamSceneEnum.PROJECT_TEAM)
|
||||||
|
.eq(TeamCategory::getOrgNodeId, projectNodeId)
|
||||||
|
.eq(TeamCategory::getIsDelete, 0L)
|
||||||
|
.in(!statesList.isEmpty(), TeamCategory::getValid, statesList)
|
||||||
|
.list();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer countChildrenValidCategory(Long projectNodeId, String parentCode) {
|
||||||
|
return lambdaQuery()
|
||||||
|
.eq(TeamCategory::getScene, TeamSceneEnum.PROJECT_TEAM)
|
||||||
|
.eq(TeamCategory::getOrgNodeId, projectNodeId)
|
||||||
|
.eq(TeamCategory::getParentCode, parentCode)
|
||||||
|
.eq(TeamCategory::getIsDelete, 0L)
|
||||||
|
.eq(TeamCategory::getValid, ValidationEnum.EFFECTIVE)
|
||||||
|
.count();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean codeExist(Long projectNodeId, String code) {
|
||||||
|
Integer count = lambdaQuery()
|
||||||
|
.eq(TeamCategory::getScene, TeamSceneEnum.PROJECT_TEAM)
|
||||||
|
.eq(TeamCategory::getOrgNodeId, projectNodeId)
|
||||||
|
.eq(TeamCategory::getCode, code)
|
||||||
|
.eq(TeamCategory::getIsDelete, 0L)
|
||||||
|
.count();
|
||||||
|
|
||||||
|
return count > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<TeamCategory> getListByProjectTeamId(Long projectNodeId, Boolean includeInvalid) {
|
||||||
|
LambdaQueryChainWrapper<TeamCategory> chainWrapper = lambdaQuery()
|
||||||
|
.eq(TeamCategory::getScene, TeamSceneEnum.PROJECT_TEAM)
|
||||||
|
.eq(TeamCategory::getOrgNodeId, projectNodeId)
|
||||||
|
.eq(TeamCategory::getIsDelete, 0L);
|
||||||
|
if (!includeInvalid) {
|
||||||
|
chainWrapper.eq(TeamCategory::getValid, ValidationEnum.EFFECTIVE);
|
||||||
|
}
|
||||||
|
return chainWrapper.list();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void invalidCategory(Long projNodeId, List<String> categoryCode, String parentCode) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.eq(TeamCategory::getScene, TeamSceneEnum.PROJECT_TEAM)
|
||||||
|
.eq(TeamCategory::getOrgNodeId, projNodeId)
|
||||||
|
.eq(StringUtils.isNotBlank(parentCode), TeamCategory::getParentCode, parentCode)
|
||||||
|
.in(TeamCategory::getCode, categoryCode)
|
||||||
|
.eq(TeamCategory::getIsDelete, 0L)
|
||||||
|
.set(TeamCategory::getValid, ValidationEnum.INVALID)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateTeamCategoryValid(Long projNodeId, String categoryCode){
|
||||||
|
lambdaUpdate()
|
||||||
|
.eq(TeamCategory::getOrgNodeId, projNodeId)
|
||||||
|
.eq(TeamCategory::getCode, categoryCode)
|
||||||
|
.eq(TeamCategory::getIsDelete, 0)
|
||||||
|
.set(TeamCategory::getValid, ValidationEnum.EFFECTIVE)
|
||||||
|
.update();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteByNode(Long nodeId) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.eq(TeamCategory::getOrgNodeId, nodeId)
|
||||||
|
.eq(TeamCategory::getIsDelete, 0)
|
||||||
|
.set(TeamCategory::getIsDelete, 1L)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,13 +1,18 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.resp;
|
package cn.axzo.orgmanax.infra.dao.project.team.entity;
|
||||||
|
|
||||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
||||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||||
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description
|
* @description
|
||||||
@ -17,19 +22,36 @@ import lombok.NoArgsConstructor;
|
|||||||
* @date 2024/5/29
|
* @date 2024/5/29
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@SuperBuilder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class OrgTeamCategoryResp {
|
@TableName("team_category")
|
||||||
|
public class TeamCategory implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -5630510028680541910L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
@TableId(
|
||||||
|
type = IdType.AUTO
|
||||||
|
)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
private Date createAt;
|
private Date createAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
private Date updateAt;
|
private Date updateAt;
|
||||||
|
|
||||||
private Long isDelete = 0L;
|
/**
|
||||||
|
* 逻辑删除标识(0:未删除,其它:已删除)
|
||||||
|
*/
|
||||||
|
private Long isDelete;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 租户id
|
* 租户id
|
||||||
@ -53,17 +75,14 @@ public class OrgTeamCategoryResp {
|
|||||||
private String parentCode;
|
private String parentCode;
|
||||||
/**
|
/**
|
||||||
* 班组类别 - 分类
|
* 班组类别 - 分类
|
||||||
* @see TeamCategoryTypeEnum
|
|
||||||
*/
|
*/
|
||||||
private String type;
|
private TeamCategoryTypeEnum type;
|
||||||
/**
|
/**
|
||||||
* 班组类别使用场景
|
* 班组类别使用场景
|
||||||
* @see TeamSceneEnum
|
|
||||||
*/
|
*/
|
||||||
private TeamSceneEnum scene;
|
private TeamSceneEnum scene;
|
||||||
/**
|
/**
|
||||||
* 数据有效性标记
|
* 数据有效性标记
|
||||||
* @see ValidationEnum
|
|
||||||
*/
|
*/
|
||||||
private ValidationEnum valid;
|
private ValidationEnum valid;
|
||||||
/**
|
/**
|
||||||
@ -74,4 +93,9 @@ public class OrgTeamCategoryResp {
|
|||||||
* 更新人的自然人id
|
* 更新人的自然人id
|
||||||
*/
|
*/
|
||||||
private Long updateBy;
|
private Long updateBy;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return JSON.toJSONString(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
package cn.axzo.orgmanax.infra.dao.project.team.mapper;
|
||||||
|
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.entity.TeamCategory;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* 班组类别数据库访问层
|
||||||
|
* @author cold_blade
|
||||||
|
* @version 1.0
|
||||||
|
* @date 2024/5/29
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface TeamCategoryMapper extends BaseMapper<TeamCategory> {
|
||||||
|
}
|
||||||
@ -0,0 +1,153 @@
|
|||||||
|
package cn.axzo.orgmanax.infra.dao.project.team.repository;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.dao.support.wrapper.CriteriaField;
|
||||||
|
import cn.axzo.foundation.dao.support.wrapper.Operator;
|
||||||
|
import cn.axzo.foundation.page.PageReqV2;
|
||||||
|
import cn.axzo.foundation.page.PageResp;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.entity.TeamCategory;
|
||||||
|
import java.util.List;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author syl
|
||||||
|
* @date 2025/1/3
|
||||||
|
*/
|
||||||
|
public interface TeamCategoryRepository {
|
||||||
|
|
||||||
|
PageResp<TeamCategoryResp> page(PageReq req);
|
||||||
|
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
class PageReq extends PageReqV2 {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@CriteriaField
|
||||||
|
private Long workspaceId;
|
||||||
|
/**
|
||||||
|
* 组织节点id
|
||||||
|
*/
|
||||||
|
@CriteriaField
|
||||||
|
private Long orgNodeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组织节点idList
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "orgNodeId", operator = Operator.IN)
|
||||||
|
private List<Long> orgNodeIdList;
|
||||||
|
/**
|
||||||
|
* 班组类别code
|
||||||
|
*/
|
||||||
|
@CriteriaField
|
||||||
|
private String code;
|
||||||
|
/**
|
||||||
|
* 班组类别codes
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "code", operator = Operator.IN)
|
||||||
|
private List<String> codes;
|
||||||
|
/**
|
||||||
|
* 班组类别名称
|
||||||
|
*/
|
||||||
|
@CriteriaField
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
* 父级班组类别code
|
||||||
|
*/
|
||||||
|
@CriteriaField
|
||||||
|
private String parentCode;
|
||||||
|
/**
|
||||||
|
* 班组类别 - 分类
|
||||||
|
*/
|
||||||
|
@CriteriaField
|
||||||
|
private TeamCategoryTypeEnum type;
|
||||||
|
/**
|
||||||
|
* 班组类别 - 分类 List
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "type", operator = Operator.IN)
|
||||||
|
private List<TeamCategoryTypeEnum> types;
|
||||||
|
/**
|
||||||
|
* 班组类别使用场景
|
||||||
|
*/
|
||||||
|
@CriteriaField
|
||||||
|
private TeamSceneEnum scene;
|
||||||
|
/**
|
||||||
|
* 数据有效性标记
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "valid", operator = Operator.IN)
|
||||||
|
private List<ValidationEnum> valids;
|
||||||
|
/**
|
||||||
|
* 创建人的自然人id
|
||||||
|
*/
|
||||||
|
@CriteriaField
|
||||||
|
private Long createBy;
|
||||||
|
/**
|
||||||
|
* 更新人的自然人id
|
||||||
|
*/
|
||||||
|
@CriteriaField
|
||||||
|
private Long updateBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询返回数据包含,逻辑删除数据,即查询未删除和已删除的数据。
|
||||||
|
*/
|
||||||
|
@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)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
class TeamCategoryResp extends TeamCategory {
|
||||||
|
private String ext;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,37 @@
|
|||||||
|
package cn.axzo.orgmanax.infra.dao.project.team.repository.impl;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.dao.support.converter.PageConverter;
|
||||||
|
import cn.axzo.foundation.dao.support.mysql.QueryWrapperHelper;
|
||||||
|
import cn.axzo.foundation.page.PageResp;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.dao.TeamCategoryDao;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.entity.TeamCategory;
|
||||||
|
import cn.axzo.orgmanax.infra.dao.project.team.repository.TeamCategoryRepository;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author syl
|
||||||
|
* @date 2025/1/3
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Repository
|
||||||
|
public class TeamCategoryRepositoryImpl implements TeamCategoryRepository {
|
||||||
|
|
||||||
|
private final TeamCategoryDao teamCategoryDao;
|
||||||
|
@Override
|
||||||
|
public PageResp<TeamCategoryResp> page(PageReq req) {
|
||||||
|
IPage<TeamCategory> page = PageConverter.toMybatis(req, TeamCategory.class);
|
||||||
|
QueryWrapper<TeamCategory> wrapper = QueryWrapperHelper.fromBean(req, TeamCategory.class);
|
||||||
|
if (BooleanUtils.isNotTrue(req.getIncludeDeleted())) {
|
||||||
|
wrapper.eq("is_delete", 0);
|
||||||
|
}
|
||||||
|
IPage<TeamCategoryResp> results = teamCategoryDao.page(page, wrapper)
|
||||||
|
.convert(e -> BeanUtil.toBean(e, TeamCategoryResp.class));
|
||||||
|
PageResp<TeamCategoryResp> resp = PageConverter.toResp(results);
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,84 @@
|
|||||||
|
package cn.axzo.orgmanax.server.project.team.controller;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.page.PageResp;
|
||||||
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
|
import cn.axzo.orgmanax.api.project.team.feign.OrgProjectTeamCategoryApi;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.GroupTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.OperateOrgTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.OrgTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.PageOrgTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.PageTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.PreCheckRemoveTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.RemoveProjectTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.SaveProjectTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.SingletonOrgTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.resp.RemoveTeamCategoryCheckResp;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.resp.SingletonOrgTeamCategoryResp;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.resp.TeamCategoryResp;
|
||||||
|
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamCategoryService;
|
||||||
|
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import java.util.List;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author syl
|
||||||
|
* @date 2025/1/3
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class OrgProjectTeamCategoryController implements OrgProjectTeamCategoryApi {
|
||||||
|
|
||||||
|
private final ProjectTeamCategoryService projectTeamCategoryService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<List<TeamCategoryResp>> groupList(GroupTeamCategoryReq req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<PageResp<TeamCategoryAggregateDTO>> page(PageTeamCategoryReq req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<RemoveTeamCategoryCheckResp> preCheckRemoveTeamCategory(PreCheckRemoveTeamCategoryReq req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<Void> save(SaveProjectTeamCategoryReq req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<Void> removeTeamCategory(RemoveProjectTeamCategoryReq req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<Void> operate(OperateOrgTeamCategoryReq req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<Void> replace(List<OrgTeamCategoryReq> req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<SingletonOrgTeamCategoryResp> listByNode(SingletonOrgTeamCategoryReq req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<PageResp<TeamCategoryDTO>> pageV2(PageOrgTeamCategoryReq req) {
|
||||||
|
return ApiResult.success(projectTeamCategoryService
|
||||||
|
.page(BeanUtil.copyProperties(req, ListTeamCategoryReq.class)));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author syl
|
||||||
|
* @date 2025/1/3
|
||||||
|
*/
|
||||||
|
public interface ProjectTeamCategoryFoundationService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询班组类别
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req);
|
||||||
|
}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
package cn.axzo.orgmanax.server.project.team.foundation.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.dto.ListTeamCategoryReq;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author syl
|
||||||
|
* @date 2025/1/3
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class ProjectTeamCategoryFoundationServiceImpl implements ProjectTeamCategoryFoundationService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
package cn.axzo.orgmanax.server.project.team.service;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author syl
|
||||||
|
* @date 2025/1/3
|
||||||
|
*/
|
||||||
|
public interface ProjectTeamCategoryService {
|
||||||
|
|
||||||
|
PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req);
|
||||||
|
}
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
package cn.axzo.orgmanax.server.project.team.service.dto;
|
||||||
|
|
||||||
|
import cn.axzo.foundation.page.PageReqV2;
|
||||||
|
import java.util.List;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author syl
|
||||||
|
* @date 2024/12/18
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ListTeamCategoryReq extends PageReqV2 {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* nodeId 列表
|
||||||
|
*/
|
||||||
|
private List<Long> orgNodeIds;
|
||||||
|
}
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
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.service.ProjectTeamCategoryService;
|
||||||
|
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author syl
|
||||||
|
* @date 2025/1/3
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class ProjectTeamCategoryServiceImpl implements ProjectTeamCategoryService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req) {
|
||||||
|
// todo
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user