diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/project/team/feign/OrgProjectTeamCategoryApi.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/project/team/feign/OrgProjectTeamCategoryApi.java new file mode 100644 index 0000000..10b34f7 --- /dev/null +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/project/team/feign/OrgProjectTeamCategoryApi.java @@ -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> groupList(@RequestBody GroupTeamCategoryReq req); + + /** + * todo 三期实现 + * 平台经营范围/经营范围子级变化(删除)时 校验不可变(邀请中/申请中)的经营范围 和 经营范围子级 + * 返回空list表示没有校验冲突 list有值表示,这些类别/经营范围子级 正在被使用 + * 先提供list 接口看能否满足需求 + */ + @PostMapping("/api/project/team-category/page") + ApiResult> page(@RequestBody @Valid PageTeamCategoryReq req); + + /** + * todo 三期实现 + * 删除项目班组的分类进行check + */ + @PostMapping("/api/project/team-category/remove/check") + ApiResult preCheckRemoveTeamCategory( + @RequestBody @Valid PreCheckRemoveTeamCategoryReq req); + + /** + * 添加项目班组分类 + * 和 单个班组的班组类别初始化接口,逻辑相差太大,无法合并 + * 这里用到宽表 org_project_worker_wide + */ + @PostMapping("/api/project/team-category/add") + ApiResult save(@RequestBody @Valid SaveProjectTeamCategoryReq req); + + /** + * 删除项目班组分类 + * 这里用到宽表 org_project_worker_wide + */ + @PostMapping("/api/project/team-category/remove") + ApiResult 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> listBusinessScope( +// @RequestBody @Valid PageTeamCategoryReq req); + + /** + * 操作班组类别 + */ + @PostMapping(value = "/api/project/team-category/operate") + ApiResult operate(@RequestBody @Valid OperateOrgTeamCategoryReq req); + + /** + * replace,实际上把老的删了,更换为入参 + * 入参是集合类型,无法合并到通用接口 + * todo 看业务方使用场景 + */ + @PostMapping(value = "/api/project/team-category/upsert") + ApiResult replace(@RequestBody @NotEmpty List req); + + /** + * 单个班组的班组列表查询 + * + * @param req 单个班组信息 + * @return 班组类别列表 + * req、resp 和其他的完全不同,且内部逻辑也不同,无法合并 + */ + @PostMapping(value = "/api/project/team-category/list-by-node") + ApiResult listByNode(@RequestBody @Valid SingletonOrgTeamCategoryReq req); + + /** + * 列表分页查询 + */ + @PostMapping(value = "/api/project/team-category/v2/page") + ApiResult> pageV2(@RequestBody PageOrgTeamCategoryReq req); +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/enums/TeamCategoryOperateEnum.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/enums/TeamCategoryOperateEnum.java new file mode 100644 index 0000000..63c9eff --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/enums/TeamCategoryOperateEnum.java @@ -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); + } +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/GroupTeamCategoryReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/GroupTeamCategoryReq.java new file mode 100644 index 0000000..3160856 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/GroupTeamCategoryReq.java @@ -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 teamIdList; + /** + * 邀请ID + */ + private Long inviteId; + /** + * 邀请ID + */ + private List inviteIdList; + + /** + * 工作台ID + */ + private Long workspaceId; + /** + * 经营范围类型,1-经营范围,2-专业经营范围(经营范围子级) 不传默认值为2 + */ + private Integer type; + /** + * 经营范围类型 + */ + private List types; + + /** + * 上级节点code + */ + private String parentCategoryCode; + + /** + * 当前节点code + */ + private List categoryCodeList; + +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/OperateOrgTeamCategoryReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/OperateOrgTeamCategoryReq.java new file mode 100644 index 0000000..1a0e5ad --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/OperateOrgTeamCategoryReq.java @@ -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 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); + } +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/OrgTeamCategoryReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/OrgTeamCategoryReq.java new file mode 100644 index 0000000..0236d7d --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/OrgTeamCategoryReq.java @@ -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; +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/PageOrgTeamCategoryReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/PageOrgTeamCategoryReq.java new file mode 100644 index 0000000..34c699c --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/PageOrgTeamCategoryReq.java @@ -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 orgNodeIds; +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/PageTeamCategoryReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/PageTeamCategoryReq.java new file mode 100644 index 0000000..acfff82 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/PageTeamCategoryReq.java @@ -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 categoryCodeList; + + /** + * 状态列表 + */ + private List statusList; + + /** + * 项目内班组idList + */ + private List projectTeamIds; +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/PreCheckRemoveTeamCategoryReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/PreCheckRemoveTeamCategoryReq.java new file mode 100644 index 0000000..ca5907f --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/PreCheckRemoveTeamCategoryReq.java @@ -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 categoryCodes; +} \ No newline at end of file diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/RemoveProjectTeamCategoryReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/RemoveProjectTeamCategoryReq.java new file mode 100644 index 0000000..8b07e37 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/RemoveProjectTeamCategoryReq.java @@ -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 categoryCodes; + + @NoArgsConstructor + @Data + @SuperBuilder + @AllArgsConstructor + public static class ProjectTeamCategoryReq { + /** + * 经营范围code + */ + private String categoryCode; + + /** + * 经营范围name + */ + private String categoryName; + } +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/SaveProjectTeamCategoryReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/SaveProjectTeamCategoryReq.java new file mode 100644 index 0000000..1b3ec73 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/SaveProjectTeamCategoryReq.java @@ -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 teamCategories; +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/SingletonOrgTeamCategoryReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/SingletonOrgTeamCategoryReq.java new file mode 100644 index 0000000..279917a --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/SingletonOrgTeamCategoryReq.java @@ -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); + } +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/TeamCategoryTreeNode.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/TeamCategoryTreeNode.java new file mode 100644 index 0000000..289f551 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/TeamCategoryTreeNode.java @@ -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 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 getNodeChildren() { + return this.children; + } + + public void setNodeChildren(List nodeChildren) { + this.children = nodeChildren; + } + + public boolean isRoot() { + return StringUtils.isBlank(this.parentCode) + || Objects.equals(this.parentCode, "0"); + } +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/resp/OrgTeamCategoryResp.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/resp/OrgTeamCategoryResp.java new file mode 100644 index 0000000..6e2cc65 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/resp/OrgTeamCategoryResp.java @@ -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; +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/resp/RemoveTeamCategoryCheckResp.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/resp/RemoveTeamCategoryCheckResp.java new file mode 100644 index 0000000..a52b581 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/resp/RemoveTeamCategoryCheckResp.java @@ -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 workers; + + private List taskOrders; + + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class WorkerInfo{ + /** + * 工人id + */ + private Long workerId; + /** + * 工人姓名 + */ + private String workerName; + /** + * 工种 + */ + private List workerProfessions; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class TaskOrder{ + /** + * 任务单号 + */ + private String taskNo; + /** + * 项目名称 + */ + private String workspaceName; + /** + * 工人名称 + */ + private String workerName; + /** + * 任务单名称 + */ + private String taskOrderName; + } + +} diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/resp/SingletonOrgTeamCategoryResp.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/resp/SingletonOrgTeamCategoryResp.java new file mode 100644 index 0000000..c83fc81 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/resp/SingletonOrgTeamCategoryResp.java @@ -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 categories; + + @Override + public String toString() { + return JSON.toJSONString(this); + } +}