feat(REQ-3488): 班组类别api、出参、入参调整
This commit is contained in:
parent
a7c4a3eaf6
commit
e0ad5f757c
@ -0,0 +1,115 @@
|
||||
package cn.axzo.orgmanax.api.project.team.feign;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.foundation.result.ApiResult;
|
||||
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.OrgTeamCategoryResp;
|
||||
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 java.util.List;
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* @Author: zhanglei
|
||||
* @Name: ProjectTeamCategoryApi
|
||||
* @Date: 2023/8/1 15:13
|
||||
* @Desc: 班组分类,内部接口
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@FeignClient(name = "org-gateway", url = "${axzo.service.org-gateway:http://org-gateway:8080}")
|
||||
public interface OrgProjectTeamCategoryApi {
|
||||
|
||||
/**
|
||||
* 班组分类信息列表查询-非通用接口
|
||||
* 分组查询
|
||||
*/
|
||||
@PostMapping("/api/project/team-category/group-list")
|
||||
ApiResult<List<TeamCategoryResp>> groupList(@RequestBody GroupTeamCategoryReq req);
|
||||
|
||||
/**
|
||||
* todo 三期实现
|
||||
* 平台经营范围/经营范围子级变化(删除)时 校验不可变(邀请中/申请中)的经营范围 和 经营范围子级
|
||||
* 返回空list表示没有校验冲突 list有值表示,这些类别/经营范围子级 正在被使用
|
||||
* 先提供list 接口看能否满足需求
|
||||
*/
|
||||
@PostMapping("/api/project/team-category/page")
|
||||
ApiResult<PageResp<TeamCategoryDTO>> page(@RequestBody @Valid PageTeamCategoryReq req);
|
||||
|
||||
/**
|
||||
* todo 三期实现
|
||||
* 删除项目班组的分类进行check
|
||||
*/
|
||||
@PostMapping("/api/project/team-category/remove/check")
|
||||
ApiResult<RemoveTeamCategoryCheckResp> preCheckRemoveTeamCategory(
|
||||
@RequestBody @Valid PreCheckRemoveTeamCategoryReq req);
|
||||
|
||||
/**
|
||||
* 添加项目班组分类
|
||||
* 和 单个班组的班组类别初始化接口,逻辑相差太大,无法合并
|
||||
* 这里用到宽表 org_project_worker_wide
|
||||
*/
|
||||
@PostMapping("/api/project/team-category/add")
|
||||
ApiResult<Void> save(@RequestBody @Valid SaveProjectTeamCategoryReq req);
|
||||
|
||||
/**
|
||||
* 删除项目班组分类
|
||||
* 这里用到宽表 org_project_worker_wide
|
||||
*/
|
||||
@PostMapping("/api/project/team-category/remove")
|
||||
ApiResult<Void> removeTeamCategory(@RequestBody @Valid RemoveProjectTeamCategoryReq req);
|
||||
|
||||
/**
|
||||
* @// TODO: 接口重复
|
||||
* 获取项目内 经营范围的 拼接字符串
|
||||
* {@link OrgProjectTeamCategoryApi#groupList(cn.axzo.orggateway.api.project.team.req.GroupTeamCategoryReq)}
|
||||
* 业务方自行通过这个接口返回的 projectTeamId 分组来拼接 经营范围
|
||||
* 拼接经营范围方法参考:cn.axzo.maokai.labour.server.util.BusinessScopeUtil#buildProjectBusinessScopeString
|
||||
*/
|
||||
// @PostMapping("/api/project/team-category/business-scope/list")
|
||||
// ApiResult<List<ConvergeTeamCategoryResp>> listBusinessScope(
|
||||
// @RequestBody @Valid PageTeamCategoryReq req);
|
||||
|
||||
/**
|
||||
* 操作班组类别
|
||||
*/
|
||||
@PostMapping(value = "/api/project/team-category/operate")
|
||||
ApiResult<Void> operate(@RequestBody @Valid OperateOrgTeamCategoryReq req);
|
||||
|
||||
/**
|
||||
* replace,实际上把老的删了,更换为入参
|
||||
* 入参是集合类型,无法合并到通用接口
|
||||
* todo 看业务方使用场景
|
||||
*/
|
||||
@PostMapping(value = "/api/project/team-category/upsert")
|
||||
ApiResult<Void> replace(@RequestBody @NotEmpty List<OrgTeamCategoryReq> req);
|
||||
|
||||
/**
|
||||
* 单个班组的班组列表查询
|
||||
*
|
||||
* @param req 单个班组信息
|
||||
* @return 班组类别列表
|
||||
* req、resp 和其他的完全不同,且内部逻辑也不同,无法合并
|
||||
*/
|
||||
@PostMapping(value = "/api/project/team-category/list-by-node")
|
||||
ApiResult<SingletonOrgTeamCategoryResp> listByNode(@RequestBody @Valid SingletonOrgTeamCategoryReq req);
|
||||
|
||||
/**
|
||||
* 列表分页查询
|
||||
*/
|
||||
@PostMapping(value = "/api/project/team-category/v2/page")
|
||||
ApiResult<PageResp<OrgTeamCategoryResp>> pageV2(@RequestBody PageOrgTeamCategoryReq req);
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* 班组类别 - 类型枚举
|
||||
* @author cold_blade
|
||||
* @version 1.0
|
||||
* @date 2024/5/29
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public enum TeamCategoryOperateEnum {
|
||||
|
||||
/**
|
||||
* 单个班组的班组类别初始化
|
||||
*/
|
||||
INIT(1, "单个班组的班组类别初始化"),
|
||||
/**
|
||||
* 班组的某个顶级班组类别及其子集的替换
|
||||
*/
|
||||
REPLACE(2, "班组的某个顶级班组类别及其子集的替换"),
|
||||
/**
|
||||
* 移除当前班组类别及其子集
|
||||
*/
|
||||
PRUNING(3, "移除当前班组类别及其子集"),
|
||||
/**
|
||||
* 根据nodeId 删除类别
|
||||
*/
|
||||
DELETE_BY_NODE(4, "移除当前班组类别及其子集"),
|
||||
;
|
||||
|
||||
private final Integer code;
|
||||
private final String desc;
|
||||
|
||||
public static TeamCategoryOperateEnum getByCode(Integer code) {
|
||||
return Arrays.stream(values()).filter(it -> it.getCode().equals(code))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GroupTeamCategoryReq {
|
||||
|
||||
/**
|
||||
* 班组ID
|
||||
*/
|
||||
private Long teamId;
|
||||
/**
|
||||
* 班组ID
|
||||
*/
|
||||
private List<Long> teamIdList;
|
||||
/**
|
||||
* 邀请ID
|
||||
*/
|
||||
private Long inviteId;
|
||||
/**
|
||||
* 邀请ID
|
||||
*/
|
||||
private List<Long> inviteIdList;
|
||||
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 经营范围类型,1-经营范围,2-专业经营范围(经营范围子级) 不传默认值为2
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 经营范围类型
|
||||
*/
|
||||
private List<Integer> types;
|
||||
|
||||
/**
|
||||
* 上级节点code
|
||||
*/
|
||||
private String parentCategoryCode;
|
||||
|
||||
/**
|
||||
* 当前节点code
|
||||
*/
|
||||
private List<String> categoryCodeList;
|
||||
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryOperateEnum;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/5/30
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OperateOrgTeamCategoryReq implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 2393705048907729459L;
|
||||
|
||||
/**
|
||||
* 操作类型
|
||||
* @see TeamCategoryOperateEnum
|
||||
*/
|
||||
@NotNull(message = "operateType can not be null")
|
||||
private String operateType;
|
||||
|
||||
/**
|
||||
* 组织节点id
|
||||
*/
|
||||
@NotNull(message = "orgNodeId can not be null")
|
||||
private Long orgNodeId;
|
||||
/**
|
||||
* 操作人的自然人id
|
||||
*/
|
||||
@NotNull(message = "operatorId can not be null")
|
||||
private Long operatorId;
|
||||
|
||||
// 初始化的参数
|
||||
/**
|
||||
* 班组类别基础信息列表
|
||||
*/
|
||||
//@NotEmpty(message = "categories can not be empty")
|
||||
private List<TeamCategoryTreeNode> categories;
|
||||
|
||||
// 班组的某个顶级班组类别及其子集的替换的参数
|
||||
/**
|
||||
* 班组类别基础信息列表
|
||||
*/
|
||||
//@NotNull(message = "root can not be null")
|
||||
private TeamCategoryTreeNode root;
|
||||
|
||||
// 移除班组类别及其子集的参数
|
||||
/**
|
||||
* 待剪枝的班组类别的编码
|
||||
*/
|
||||
// @NotBlank(message = "teamCategoryCode can not be empty.")
|
||||
private String teamCategoryCode;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,74 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
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 java.util.Date;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* 班组类别存储模型
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/5/29
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrgTeamCategoryReq {
|
||||
|
||||
|
||||
private Long id;
|
||||
|
||||
private Date createAt;
|
||||
|
||||
private Date updateAt;
|
||||
|
||||
private Long isDelete = 0L;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 组织节点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;
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
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 PageOrgTeamCategoryReq extends PageReqV2 {
|
||||
|
||||
/**
|
||||
* nodeId 列表
|
||||
*/
|
||||
private List<Long> orgNodeIds;
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
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;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PageTeamCategoryReq extends PageReqV2 {
|
||||
|
||||
/**
|
||||
* 平台班组id
|
||||
*/
|
||||
private Long platTeamId;
|
||||
/**
|
||||
* 经营范围/经营范围子级codeList
|
||||
*/
|
||||
private List<String> categoryCodeList;
|
||||
|
||||
/**
|
||||
* 状态列表
|
||||
*/
|
||||
private List<Integer> statusList;
|
||||
|
||||
/**
|
||||
* 项目内班组idList
|
||||
*/
|
||||
private List<Long> projectTeamIds;
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@AllArgsConstructor
|
||||
public class PreCheckRemoveTeamCategoryReq {
|
||||
|
||||
/**
|
||||
* 项目内班组id
|
||||
* todo 需要替换成新的方式改造
|
||||
*/
|
||||
@NotNull(message = "项目内班组id不能为空")
|
||||
private Long projectTeamId;
|
||||
|
||||
/**
|
||||
* 经营范围code
|
||||
*/
|
||||
@NotEmpty(message = "经营范围code不能为空")
|
||||
private List<String> categoryCodes;
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@AllArgsConstructor
|
||||
public class RemoveProjectTeamCategoryReq {
|
||||
|
||||
/**
|
||||
* 项目内班组id
|
||||
*/
|
||||
@NotNull(message = "项目内班组id不能为空")
|
||||
private Long projectTeamId;
|
||||
@NotNull(message = "工作台id不能为空")
|
||||
private Long workspaceId;
|
||||
@NotEmpty(message = "经营范围不能为空")
|
||||
private List<ProjectTeamCategoryReq> categoryCodes;
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@AllArgsConstructor
|
||||
public static class ProjectTeamCategoryReq {
|
||||
/**
|
||||
* 经营范围code
|
||||
*/
|
||||
private String categoryCode;
|
||||
|
||||
/**
|
||||
* 经营范围name
|
||||
*/
|
||||
private String categoryName;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@AllArgsConstructor
|
||||
public class SaveProjectTeamCategoryReq {
|
||||
|
||||
/**
|
||||
* 项目内班组id
|
||||
*/
|
||||
@NotNull(message = "项目内班组id不能为空")
|
||||
private Long projectTeamId;
|
||||
@NotNull(message = "工作台id不能为空")
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 经营范围
|
||||
*/
|
||||
@NotEmpty(message = "经营范围不能为空")
|
||||
private List<TeamCategoryDTO> teamCategories;
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import java.io.Serializable;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* 查询班组类别入参模型
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/6/4
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SingletonOrgTeamCategoryReq implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -8514259693439832528L;
|
||||
|
||||
@NotNull(message = "orgNodeId can not be null")
|
||||
private Long orgNodeId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,80 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.req;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @description 班组类别树节点模型
|
||||
* @date 2024/6/4
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class TeamCategoryTreeNode implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -5912767475140558043L;
|
||||
|
||||
/**
|
||||
* 班组类别code
|
||||
*/
|
||||
private String code;
|
||||
/**
|
||||
* 班组类别名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 父级班组类别code
|
||||
*/
|
||||
private String parentCode;
|
||||
/**
|
||||
* 班组类别 - 分类
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 班组类别使用场景
|
||||
*/
|
||||
private String scene;
|
||||
|
||||
/**
|
||||
* 子班组类别的列表
|
||||
*/
|
||||
private List<TeamCategoryTreeNode> children = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
|
||||
public String getNodeCode() {
|
||||
return this.code;
|
||||
}
|
||||
|
||||
public String getParentNodeCode() {
|
||||
return this.parentCode;
|
||||
}
|
||||
|
||||
|
||||
public List<TeamCategoryTreeNode> getNodeChildren() {
|
||||
return this.children;
|
||||
}
|
||||
|
||||
public void setNodeChildren(List<TeamCategoryTreeNode> nodeChildren) {
|
||||
this.children = nodeChildren;
|
||||
}
|
||||
|
||||
public boolean isRoot() {
|
||||
return StringUtils.isBlank(this.parentCode)
|
||||
|| Objects.equals(this.parentCode, "0");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,77 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.resp;
|
||||
|
||||
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 java.util.Date;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* 班组类别存储模型
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/5/29
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrgTeamCategoryResp {
|
||||
|
||||
|
||||
private Long id;
|
||||
|
||||
private Date createAt;
|
||||
|
||||
private Date updateAt;
|
||||
|
||||
private Long isDelete = 0L;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 组织节点id
|
||||
*/
|
||||
private Long orgNodeId;
|
||||
/**
|
||||
* 班组类别code
|
||||
*/
|
||||
private String code;
|
||||
/**
|
||||
* 班组类别名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 父级班组类别code
|
||||
*/
|
||||
private String parentCode;
|
||||
/**
|
||||
* 班组类别 - 分类
|
||||
* @see TeamCategoryTypeEnum
|
||||
*/
|
||||
private String type;
|
||||
/**
|
||||
* 班组类别使用场景
|
||||
* @see TeamSceneEnum
|
||||
*/
|
||||
private TeamSceneEnum scene;
|
||||
/**
|
||||
* 数据有效性标记
|
||||
* @see ValidationEnum
|
||||
*/
|
||||
private ValidationEnum valid;
|
||||
/**
|
||||
* 创建人的自然人id
|
||||
*/
|
||||
private Long createBy;
|
||||
/**
|
||||
* 更新人的自然人id
|
||||
*/
|
||||
private Long updateBy;
|
||||
}
|
||||
@ -0,0 +1,99 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.resp;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class RemoveTeamCategoryCheckResp {
|
||||
|
||||
/**
|
||||
* 是否可以删除
|
||||
*/
|
||||
private boolean canDelete;
|
||||
/**
|
||||
* 删除提示消息
|
||||
*/
|
||||
private WarningMsg warningMsg;
|
||||
/**
|
||||
* 不能删除时,提示的消息
|
||||
*/
|
||||
private SuspendMsg suspendMsg;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class WarningMsg{
|
||||
/**
|
||||
* 多少名工人与该类别对应的工种将会被移除
|
||||
*/
|
||||
private Integer deleteWorkerProfessionNum;
|
||||
|
||||
/**
|
||||
* 多少个依赖该班组的邀请二维码会自动失效
|
||||
*/
|
||||
private Integer deleteErcodeNum;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SuspendMsg{
|
||||
|
||||
private List<WorkerInfo> workers;
|
||||
|
||||
private List<TaskOrder> taskOrders;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class WorkerInfo{
|
||||
/**
|
||||
* 工人id
|
||||
*/
|
||||
private Long workerId;
|
||||
/**
|
||||
* 工人姓名
|
||||
*/
|
||||
private String workerName;
|
||||
/**
|
||||
* 工种
|
||||
*/
|
||||
private List<String> workerProfessions;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class TaskOrder{
|
||||
/**
|
||||
* 任务单号
|
||||
*/
|
||||
private String taskNo;
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String workspaceName;
|
||||
/**
|
||||
* 工人名称
|
||||
*/
|
||||
private String workerName;
|
||||
/**
|
||||
* 任务单名称
|
||||
*/
|
||||
private String taskOrderName;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package cn.axzo.orgmanax.dto.project.team.resp;
|
||||
|
||||
import cn.axzo.orgmanax.dto.project.team.req.TeamCategoryTreeNode;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* 单个班组的班组类别数据模型
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/6/4
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SingletonOrgTeamCategoryResp implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -4548376381178801676L;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long orgNodeId;
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 班组类别列表
|
||||
*/
|
||||
private List<TeamCategoryTreeNode> categories;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user