feat(REQ-3488): 迁移dto
This commit is contained in:
parent
e876cbf1d9
commit
a7c4a3eaf6
@ -0,0 +1,176 @@
|
||||
package cn.axzo.orgmanax.api.projectgroup.feign;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.foundation.result.ApiResult;
|
||||
import cn.axzo.orgmanax.dto.projectgroup.req.*;
|
||||
import cn.axzo.orgmanax.dto.projectgroup.resp.*;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目内小组
|
||||
*
|
||||
* @author wenXueFeng
|
||||
* @date 2022/10/21 9:59
|
||||
*/
|
||||
@FeignClient(name = "org-gateway", url = "${axzo.service.org-gateway:http://org-gateway:8080}")
|
||||
public interface OrgProjectGroupApi {
|
||||
|
||||
/**
|
||||
* 项目内班组列表查询
|
||||
*
|
||||
* @author: zhanglei
|
||||
* @date: 2023/08/21 11:03
|
||||
* @param req req - 对应LabourProjectGroupQueryBo
|
||||
* @return:
|
||||
**/
|
||||
@PostMapping("api/project-group/page")
|
||||
ApiResult<List<LabourProjectGroupListV2Res>> page(@RequestBody @Valid ProjectGroupPageReq req);
|
||||
|
||||
/**
|
||||
* CMS创建小组
|
||||
* todo 三期实现
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("api/project-group/create-group")
|
||||
ApiResult<Long> create(@RequestBody @Valid GroupNodeCreateReq req);
|
||||
|
||||
/**
|
||||
* CMS编辑小组
|
||||
* todo 三期实现
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("api/project-group/edit")
|
||||
ApiResult<Void> edit(@RequestBody @Valid GroupNodeEditReq req);
|
||||
|
||||
/**
|
||||
* CMS解散小组
|
||||
* todo 三期实现
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("api/project-group/delete")
|
||||
ApiResult<Void> delete(@RequestBody @Valid GroupNodeDeleteReq req);
|
||||
|
||||
/**
|
||||
* 目前用来做cms协同管理, worker里面的大部分信息都直接需要
|
||||
* <p> 慎用这个接口
|
||||
*
|
||||
* @param workspaceId
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("api/project-group/worker/expose-workers")
|
||||
ApiResult<List<ExposeGroupWorkerRespItem>> exposeWorkers(
|
||||
@RequestParam("workspaceId") Long workspaceId);
|
||||
|
||||
// /**
|
||||
// * 查询甲方班组的合作小组
|
||||
// */
|
||||
// @PostMapping("/api/project-group/group/list")
|
||||
// ApiResult<List<ProjectTeamGroupListResp>> groupList(@RequestBody ProjectTeamGroupListReq req);
|
||||
|
||||
/**
|
||||
* 未分组工人
|
||||
*
|
||||
* @param req req
|
||||
* @author: wxf
|
||||
* @date: 2022/11/30 11:40
|
||||
* @return:
|
||||
* REQ-1483
|
||||
**/
|
||||
@PostMapping("api/ungrouped/worker")
|
||||
ApiResult<List<ProjectDirectGroupUngroupedWorkerResp>> ungroupedWorker(@RequestBody @Valid ProjectDirectGroupUngroupedWorkerReq req);
|
||||
|
||||
/**
|
||||
* 直属小组工人
|
||||
*
|
||||
* @param req req
|
||||
* @author: wxf
|
||||
* @date: 2022/11/30 14:04
|
||||
* @return:
|
||||
**/
|
||||
@PostMapping("api/direct-group/worker")
|
||||
ApiResult<List<ProjectDirectGroupWorkerListResp>> workerList(@RequestBody @Valid ProjectDirectGroupWorkerListReq req);
|
||||
|
||||
/**
|
||||
* 小组长权限
|
||||
*
|
||||
* @param groupId 小组id
|
||||
* @author: wxf
|
||||
* @date: 2022/11/30 14:47
|
||||
* @return:
|
||||
**/
|
||||
@GetMapping("api/direct-group/owner/permission")
|
||||
ApiResult<ProjectGroupOwnerPermissionRes> groupOwnerPermission(@RequestParam("groupId") Long groupId);
|
||||
|
||||
/**
|
||||
* 查询没有设置小组长的小组
|
||||
*
|
||||
* @param workspaceId
|
||||
* @return cn.axzo.apollo.core.web.Result<cn.axzo.maokai.api.labour.dto.projectgroup.ProjectGroupListRes>
|
||||
* @author zhongjie
|
||||
* @date 2022/11/30 16:32
|
||||
**/
|
||||
@GetMapping("api/direct-group/no-leader/group")
|
||||
ApiResult<ProjectGroupListRes> getNoLeaderGroupList(@RequestParam("workspaceId") Long workspaceId, @RequestParam("platTeamId") Long platTeamId, @RequestParam("isReturnWorker") Boolean isReturnWorker);
|
||||
|
||||
/**
|
||||
* 查询平台班组id + 工人id 项目内是否为小组长
|
||||
*
|
||||
* @param req
|
||||
* @return cn.axzo.apollo.core.web.Result<cn.axzo.maokai.api.labour.dto.projectgroup.ProjectGroupRes>
|
||||
* @author zhongjie
|
||||
* @date 2022/11/30 16:41
|
||||
**/
|
||||
@PostMapping("api/direct-group/page-group-info")
|
||||
ApiResult<PageResp<ProjectGroupRes>> pageGroupInfo(@RequestBody @Valid ProjectDirectGroupPageGroupReq req);
|
||||
|
||||
/**
|
||||
* 小组成立序号
|
||||
*
|
||||
* @param projectTeamId
|
||||
* @param groupId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("api/direct-group/get-join-team-top-no")
|
||||
ApiResult<Integer> getJoinTeamTopNo(@RequestParam("projectTeamId") Long projectTeamId,
|
||||
@RequestParam("groupId") Long groupId);
|
||||
|
||||
|
||||
/**
|
||||
* 列表项目内班组班组下小组成员列表
|
||||
* @param projectTeamId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("api/direct-group/list-project-group-worker")
|
||||
ApiResult<List<ProjectTeamGroupWorkerRes>> listProjectGroupWorker(@RequestParam("projectTeamId") Long projectTeamId);
|
||||
|
||||
/**
|
||||
* @param req 与项目内小组关联节点
|
||||
* @return
|
||||
* @author zr
|
||||
* @description 通过小组节点获取项目内小组信息
|
||||
* @date 2024/1/15 17:15
|
||||
**/
|
||||
@PostMapping("api/direct-group/get-project-group-by-group-node-id")
|
||||
ApiResult<List<ProjectGroupNodeRes>> pageProjectGroupNode(@RequestBody ProjectDirectGroupPageProjectGroupNodeReq req);
|
||||
|
||||
/**
|
||||
* @param teamNodeId 班组节点id
|
||||
* @return
|
||||
* @author zr
|
||||
* @description 通过班组节点获取无小组长的小组列表和未加入小组的工人列表
|
||||
* @date 2024/2/4 17:15
|
||||
**/
|
||||
@GetMapping("api/direct-group/get-project-group-un-owner-and-worker")
|
||||
ApiResult<ProjectGroupAndWorkerResp> getProjectGroupUnOwnerAndWorker(@RequestParam("teamNodeId") Long teamNodeId);
|
||||
}
|
||||
@ -0,0 +1,94 @@
|
||||
package cn.axzo.orgmanax.api.workerprofession.feign;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.foundation.result.ApiResult;
|
||||
import cn.axzo.orgmanax.dto.workerprofession.dto.ProfessionDTO;
|
||||
import cn.axzo.orgmanax.dto.workerprofession.req.*;
|
||||
import cn.axzo.orgmanax.dto.workerprofession.resp.WorkerProfessionTagResp;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author zhanghongbo
|
||||
* @date 2025/1/3
|
||||
*/
|
||||
@FeignClient(
|
||||
value = "orgmanax",
|
||||
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
|
||||
public interface OrgProjectWorkerProfessionApi {
|
||||
|
||||
|
||||
/**
|
||||
* CMS 批量设置工人工种 (小组详情) 批量指多人,工种单个
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/api/labour/cms/project-worker-profession/update")
|
||||
ApiResult<Void> update(@Valid @RequestBody ProjectWorkerProfessionUpdateReq req);
|
||||
|
||||
/**
|
||||
* 获取有效的工种信息
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/api/labour/cms/project-worker-profession/list-valid")
|
||||
ApiResult<Map<Long, List<ProfessionDTO>>> listValid(@Valid @RequestBody ProjectWorkerProfessionListValidReq req);
|
||||
|
||||
/**
|
||||
* 计算项目内工人工种类型
|
||||
*/
|
||||
@PostMapping("/api/labour/project-worker-profession/sort-out-profession-category")
|
||||
ApiResult<Map<Long, List<String>>> sortOutProfessionCategory(@RequestBody @Valid ProjectWorkerProfessionSortOutProfessionCategoryReq req);
|
||||
|
||||
|
||||
/**
|
||||
* 设置工人工种&技能标签
|
||||
*
|
||||
* @param request 工人工种&技能标签信息
|
||||
*/
|
||||
@PostMapping(value = "/api/worker/profession/configure")
|
||||
ApiResult<Void> configure(@RequestBody @Validated WorkerProfessionTagOperationConfigureReq request);
|
||||
|
||||
/**
|
||||
* 单个工种及其关联的技能标签列表删除
|
||||
*
|
||||
* @param request 工种及人员的相关信息
|
||||
*/
|
||||
@PostMapping(value = "/api/worker/profession/remove")
|
||||
ApiResult<Void> remove(@RequestBody @Validated WorkerProfessionTagOperationRemoveReq request);
|
||||
|
||||
/**
|
||||
* 新增工种及相关的技能标签(新增|修改)
|
||||
*
|
||||
* @param request 工种及其关联的技能标签列表
|
||||
*/
|
||||
@PostMapping(value = "/api/worker/profession/upsert")
|
||||
ApiResult<Void> upsert(@RequestBody @Validated WorkerProfessionTagOperationUpsertReq request);
|
||||
|
||||
/**
|
||||
* 设置工种为无效并将相关的技能标签置为无效
|
||||
*
|
||||
* @param request
|
||||
*/
|
||||
@PostMapping(value = "/api/worker/profession/singletonProfessionValidUpdate")
|
||||
ApiResult<Void> validUpdate(@RequestBody @Validated WorkerProfessionTagOperationValidUpdateReq request);
|
||||
|
||||
/**
|
||||
*
|
||||
* 通用查询接口,仅校验查询条件非空。支持返回技能标签
|
||||
* XXX: 通用查询接口,
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/api/worker/profession/page")
|
||||
ApiResult<PageResp<WorkerProfessionTagResp>> page(@RequestBody @Validated WorkerProfessionTagQueryPageReq req);
|
||||
}
|
||||
@ -42,6 +42,11 @@
|
||||
<groupId>cn.axzo.trade</groupId>
|
||||
<artifactId>trade-data-security-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@ -0,0 +1,36 @@
|
||||
package cn.axzo.orgmanax.dto.common.util;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 2022/6/18 15:55
|
||||
*/
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
@Slf4j
|
||||
public class NumberUtil {
|
||||
|
||||
public static boolean isPositiveNumber(Number number) {
|
||||
return number != null && number.floatValue() > 0;
|
||||
}
|
||||
|
||||
public static boolean isNotPositiveNumber(Number number) {
|
||||
return !isPositiveNumber(number);
|
||||
}
|
||||
|
||||
public static Integer appVersionParse(String appVersion) {
|
||||
log.info("app version parse :{}",appVersion);
|
||||
try {
|
||||
appVersion = appVersion.split("-")[0];
|
||||
return cn.hutool.core.util.NumberUtil.parseInt(appVersion.replace("v", "")
|
||||
.replace("V", "")
|
||||
.replace(".", ""));
|
||||
} catch (Exception e) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -28,6 +28,7 @@ public class ProcessRelationListReq {
|
||||
*
|
||||
*/
|
||||
private List<BusinessProcessRelationshipTypeEnum> typeList;
|
||||
|
||||
/**
|
||||
* 业务id
|
||||
*/
|
||||
|
||||
@ -0,0 +1,47 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 小组长权限集枚举
|
||||
* 枚举顺序调整需要清洗数据库中小组长权限数据
|
||||
*
|
||||
* @author wxf
|
||||
* @date 2022/12/1 15:07
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum ProjectGroupOwnerPermissionEnum {
|
||||
WORKPOINT(0, "unused", "小组内工人记工"),
|
||||
TASK_OPERATION(1, "unused", "小组任务终止、转单、撤销"),
|
||||
// WORKER_ATTENDANCE(2, "小组工人考勤管理"),
|
||||
DISPATCH(3, "unused", "派工"),
|
||||
RECTIFICATION(4, "unused", "整改"),
|
||||
ATTENDANCE_SUPPLEMENT(5, "cms:bz_subteam_absence&attendance", "发起考勤补卡"),
|
||||
;
|
||||
|
||||
public int type;
|
||||
private String code;
|
||||
public String desc;
|
||||
|
||||
public static List<ProjectGroupOwnerPermissionEnum> listByType(List<Integer> type) {
|
||||
ProjectGroupOwnerPermissionEnum[] values = values();
|
||||
Map<Integer, ProjectGroupOwnerPermissionEnum> groupOwnerPermissionEnumMap = Arrays.stream(values)
|
||||
.collect(Collectors.toMap(ProjectGroupOwnerPermissionEnum::getType, Function
|
||||
.identity()));
|
||||
List<ProjectGroupOwnerPermissionEnum> resList = new ArrayList<>(values.length);
|
||||
for (int item : type) {
|
||||
ProjectGroupOwnerPermissionEnum permissionEnum = groupOwnerPermissionEnumMap
|
||||
.getOrDefault(item, null);
|
||||
if (Objects.nonNull(permissionEnum)) {
|
||||
resList.add(permissionEnum);
|
||||
}
|
||||
}
|
||||
return resList;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,91 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GroupNodeCreateReq {
|
||||
/**
|
||||
* 项目内班组节点id
|
||||
*/
|
||||
@NotNull(message = "项目内班组节点id不能为空")
|
||||
private Long projectTeamNodeId;
|
||||
|
||||
/**
|
||||
* 小组名称
|
||||
*/
|
||||
@NotNull(message = "请输入小组名称")
|
||||
private String projectGroupNodeName;
|
||||
|
||||
@NotNull(message = "工作台id不能为空")
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 小组长权限
|
||||
*/
|
||||
private List<Long> roleIds;
|
||||
|
||||
/**
|
||||
* 小组长信息
|
||||
*/
|
||||
private GroupMember groupLeaderInfo;
|
||||
|
||||
/**
|
||||
* 操作人personId
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
|
||||
/**
|
||||
* 小组成员信息 (所有小组成员,包括小组长)
|
||||
*/
|
||||
private List<GroupMember> members;
|
||||
|
||||
@Data
|
||||
public static class GroupMember {
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 所属的项目内班组id
|
||||
*/
|
||||
private Long belongProjectTeamId;
|
||||
|
||||
/**
|
||||
* 项目内工人id
|
||||
*/
|
||||
private Long projectWorkerId;
|
||||
|
||||
/**
|
||||
* 工人身份id
|
||||
*/
|
||||
@NotNull(message = "工人身份id不能为空")
|
||||
private Long workerIdentityId;
|
||||
|
||||
/**
|
||||
* 工人姓名
|
||||
*/
|
||||
private String workerName;
|
||||
|
||||
/**
|
||||
* 是否是项目内工人,0 不是 1是
|
||||
*/
|
||||
private Integer isInProject;
|
||||
|
||||
/**
|
||||
* 工种
|
||||
*/
|
||||
private List<ProjectGroupProfessionBaseReq> professions;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GroupNodeDeleteReq {
|
||||
/**
|
||||
* 项目内小组节点id
|
||||
*/
|
||||
@NotNull(message = "项目内小组节点id不能为空")
|
||||
private Long projectGroupNodeId;
|
||||
/**
|
||||
* 操作人personId
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GroupNodeEditReq {
|
||||
|
||||
/**
|
||||
* 项目内小组节点id
|
||||
*/
|
||||
@NotNull(message = "项目内小组节点id不能为空")
|
||||
private Long projectGroupNodeId;
|
||||
|
||||
/**
|
||||
* 小组名称
|
||||
*/
|
||||
@NotBlank(message = "请输入小组名称")
|
||||
private String projectGroupNodeName;
|
||||
|
||||
/**
|
||||
* 小组长身份id -没有小组长传 null
|
||||
*/
|
||||
private Long groupOwnerIdentityId;
|
||||
|
||||
|
||||
/**
|
||||
* 角色权限 ids
|
||||
*/
|
||||
private List<Long> roleIds;
|
||||
/**
|
||||
* 操作人personId
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@SuperBuilder
|
||||
public class LeaderAndPermissionReq extends PageReqV2 {
|
||||
/**
|
||||
* 是否有小组长
|
||||
*/
|
||||
@NotNull
|
||||
private Boolean isHaveLeader;
|
||||
/**
|
||||
* 小组状态 0-未激活 1-已激活 2-已结束
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 是否逻辑删除(0:未删除,1:已删除)
|
||||
*/
|
||||
private Long isDelete;
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhanghongbo
|
||||
* @date 2024/12/20
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProjectDirectGroupPageGroupReq extends PageReqV2 {
|
||||
/**
|
||||
* 小组类型:0-直属小组,1-合作小组
|
||||
*/
|
||||
private Integer groupType;
|
||||
|
||||
|
||||
/**
|
||||
* 平台班组id
|
||||
*/
|
||||
private Long platTeamId;
|
||||
|
||||
/**
|
||||
* 项目内班组id
|
||||
*/
|
||||
private Long projectTeamId;
|
||||
|
||||
/**
|
||||
* 工人身份id
|
||||
*/
|
||||
@Size(min = 1, message = "工人身份id不能为空")
|
||||
private List<Long> workerIdentityIds;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 小组id(支持批量)
|
||||
*/
|
||||
private List<Long> groupIds;
|
||||
/**
|
||||
* 小组长id(支持批量)
|
||||
*/
|
||||
private List<Long> groupOwnerIdentityIds;
|
||||
|
||||
/**
|
||||
* 是否忽略状态
|
||||
*/
|
||||
private Boolean isIgnoreStatus = false;
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author zhanghongbo
|
||||
* @date 2024/12/20
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProjectDirectGroupPageProjectGroupNodeReq extends PageReqV2 {
|
||||
/**
|
||||
* 小组节点id列表
|
||||
*/
|
||||
private List<Long> groupNodeIds;
|
||||
/**
|
||||
* 班组节点id
|
||||
*/
|
||||
private Long teamNodeId;
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 未分组工人参数
|
||||
* @author wxf
|
||||
* @date 2022/11/30 10:38
|
||||
*/
|
||||
@Data
|
||||
public class ProjectDirectGroupUngroupedWorkerReq {
|
||||
|
||||
/**
|
||||
* 平台班组id
|
||||
*/
|
||||
@NotNull(message = "平台班组id为空")
|
||||
private Long platTeamId;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@NotNull(message = "项目id为空")
|
||||
private Long workspaceId;
|
||||
}
|
||||
@ -0,0 +1,43 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 直属小组工人查询参数
|
||||
* @author wxf
|
||||
* @date 2022/11/30 11:47
|
||||
*/
|
||||
@Data
|
||||
public class ProjectDirectGroupWorkerListReq {
|
||||
|
||||
/**
|
||||
* 小组id集合
|
||||
*/
|
||||
private List<Long> groupIdList;
|
||||
/**
|
||||
* 小组id
|
||||
*/
|
||||
private Long groupId;
|
||||
/**
|
||||
* 工人身份id
|
||||
*/
|
||||
private Long workerIdentityId;
|
||||
/**
|
||||
* 工人身份id集合
|
||||
*/
|
||||
private List<Long> workerIdentityIdList;
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 小组长工人身份id
|
||||
*/
|
||||
private Long groupOwnerIdentityId;
|
||||
/**
|
||||
* 小组长工人身份id集合
|
||||
*/
|
||||
private List<Long> groupOwnerIdentityIdList;
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhanghongbo
|
||||
* @date 2024/12/20
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProjectGroupPageReq extends PageReqV2 {
|
||||
private Long id;
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private List<Long> workspaceIdList;
|
||||
/**
|
||||
* 所属项目内班组ID
|
||||
*/
|
||||
private Long belongProjectTeamId;
|
||||
/**
|
||||
* 所属平台班组id
|
||||
*/
|
||||
private Long belongPlatTeamId;
|
||||
/**
|
||||
* 原项目内班组id:合作小组时和 belongProjectTeamId 的值不一样
|
||||
*/
|
||||
private Long sourceProjectTeamId;
|
||||
/**
|
||||
* 原平台班组id:合作小组时和 belongPlatTeamId 的值不一样
|
||||
*/
|
||||
private Long sourcePlatTeamId;
|
||||
/**
|
||||
* 小组类型:0-直属小组,1-合作小组
|
||||
*/
|
||||
private Integer groupType;
|
||||
/**
|
||||
* 小组状态 0-未激活 1-已激活 2-已结束
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 班组ID
|
||||
*/
|
||||
@JsonIgnore
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 是否逻辑删除(0:未删除,1:已删除)
|
||||
*/
|
||||
private Long isDelete;
|
||||
|
||||
/**
|
||||
* 小组长id(支持批量)
|
||||
*/
|
||||
private List<Long> groupOwnerIdentityIds;
|
||||
|
||||
/**
|
||||
* 小组id(支持批量)
|
||||
*/
|
||||
private List<Long> groupIds;
|
||||
|
||||
/**
|
||||
* 项目内班组id(支持批量)
|
||||
*/
|
||||
private List<Long> projectTeamIds;
|
||||
|
||||
/**
|
||||
* 小组单位节点ids
|
||||
*/
|
||||
private List<Long> organizationalNodeIds;
|
||||
|
||||
/**
|
||||
* 小组长工人身份id
|
||||
*/
|
||||
private Long ownerWorkerIdentityId;
|
||||
|
||||
/**
|
||||
* 是否有小组长
|
||||
*/
|
||||
private Boolean isHaveLeader;
|
||||
|
||||
/**
|
||||
* 小组名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 项目工人id
|
||||
*/
|
||||
private Long projectWorkerId;
|
||||
}
|
||||
@ -0,0 +1,93 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhongjie
|
||||
* @description
|
||||
* @date 2023/02/20 14:08
|
||||
*/
|
||||
@Data
|
||||
public class ProjectGroupProfessionBaseReq {
|
||||
|
||||
|
||||
/**
|
||||
* 工种id
|
||||
*/
|
||||
private Long professionId;
|
||||
|
||||
/**
|
||||
* 工种名称
|
||||
*/
|
||||
private String professionName;
|
||||
|
||||
/**
|
||||
* 1=普工 2=技术工
|
||||
*/
|
||||
private Integer professionCategory;
|
||||
|
||||
// 技能标签集合
|
||||
private List<ProjectTeamWorkerSkillTagInfo> skillTagList;
|
||||
|
||||
/**
|
||||
* 技能标签
|
||||
*/
|
||||
@Data
|
||||
public static class ProjectTeamWorkerSkillTagInfo {
|
||||
|
||||
/**
|
||||
* 工种
|
||||
*/
|
||||
private Long professionId;
|
||||
|
||||
/**
|
||||
* 标签名称
|
||||
*/
|
||||
private String skillName;
|
||||
|
||||
/**
|
||||
* 标签code
|
||||
*/
|
||||
private String skillCode;
|
||||
|
||||
/**
|
||||
* 父级标签code
|
||||
*/
|
||||
private String parentSkillCode;
|
||||
|
||||
private List<ProjectTeamWorkerSkillTagInfo> childSkillTags;
|
||||
}
|
||||
|
||||
|
||||
// public List<AddWorkerDto> convertDto() {
|
||||
// return workers.stream().map(worker -> {
|
||||
// AddWorkerDto addWorkerDto = BeanUtil.copyProperties(this, AddWorkerDto.class);
|
||||
// addWorkerDto.setWorkerIdentityId(worker.getWorkerId());
|
||||
// addWorkerDto.setSource(WorkerJoinSourceEnum.LEADER.getValue());
|
||||
//
|
||||
// // 工人工种
|
||||
// List<PlatWorkerProfessionDto> platWorkerProfessions = new ArrayList<>();
|
||||
// // 处理工种和技能标签
|
||||
// worker.getProfessions().forEach(profession -> {
|
||||
// Long professionId = profession.getProfessionId();
|
||||
// PlatWorkerProfessionDto platWorkerProfessionDto = new PlatWorkerProfessionDto();
|
||||
// platWorkerProfessionDto.setProfessionId(professionId);
|
||||
// platWorkerProfessionDto.setProfessionName(profession.getProfessionName());
|
||||
// platWorkerProfessionDto.setProfessionCategory(profession.getProfessionCategory());
|
||||
// platWorkerProfessions.add(platWorkerProfessionDto);
|
||||
//
|
||||
// if (ObjectUtils.isNotEmpty(profession.getSkillTagList())) {
|
||||
// List<PlatWorkerSkillTagDto> platWorkerSkillTagDtos = BeanConvertUtils.copyList(
|
||||
// profession.getSkillTagList(), PlatWorkerSkillTagDto.class);
|
||||
// platWorkerProfessionDto.setSkillTagList(platWorkerSkillTagDtos);
|
||||
// }
|
||||
// });
|
||||
// addWorkerDto.setPlatWorkerProfessions(platWorkerProfessions);
|
||||
// return addWorkerDto;
|
||||
//
|
||||
// }).collect(Collectors.toList());
|
||||
// }
|
||||
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Data
|
||||
public class ExposeGroupWorkerRespItem {
|
||||
|
||||
/**
|
||||
* 小组id
|
||||
*/
|
||||
private Long projectGroupId;
|
||||
|
||||
/**
|
||||
* 工人身份ID
|
||||
*/
|
||||
private Long workerIdentityId;
|
||||
|
||||
/**
|
||||
* 状态 状态 0-有效 1-无效
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 所属的项目内班组id
|
||||
*/
|
||||
private Long belongProjectTeamId;
|
||||
|
||||
/**
|
||||
* (合作小组才有)原项目内班组id
|
||||
*/
|
||||
private Long sourceProjectTeamId;
|
||||
}
|
||||
@ -0,0 +1,103 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author wenXueFeng
|
||||
* @date 2022/10/18 17:08
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
public class LabourProjectGroupListV2Res {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 项目内小组组织节点ID
|
||||
*/
|
||||
private Long organizationalNodeId;
|
||||
|
||||
/**
|
||||
* 小组类型 0-直属小组 1-合作小组
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 小组名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 小组状态 0-未激活 1-已激活 2-已结束
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 所属的项目内班组id
|
||||
*/
|
||||
private Long belongProjectTeamId;
|
||||
|
||||
/**
|
||||
* 所属的平台班组id
|
||||
*/
|
||||
private Long belongPlatTeamId;
|
||||
|
||||
/**
|
||||
* (合作小组才有)原项目内班组id
|
||||
*/
|
||||
private Long sourceProjectTeamId;
|
||||
|
||||
/**
|
||||
* (合作小组才有)原平台班组id
|
||||
*/
|
||||
private Long sourcePlatTeamId;
|
||||
|
||||
/**
|
||||
* 是否删除 0:否 其他:删除
|
||||
*/
|
||||
private Long isDelete;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
|
||||
private Date updateAt;
|
||||
|
||||
/**
|
||||
* 小组长权限集
|
||||
*/
|
||||
private Long permissionGroup;
|
||||
|
||||
/**
|
||||
* 小组长工人身份id
|
||||
*/
|
||||
private Long ownerWorkerIdentityId;
|
||||
|
||||
/**
|
||||
* 小组长姓名
|
||||
*/
|
||||
private String ownerWorkerName;
|
||||
|
||||
/**
|
||||
* 小组长项目内工人id
|
||||
*/
|
||||
private Long ownerProjectWorkerId;
|
||||
/**
|
||||
* 小组管理类型 0-班组管理 1-小组长管理
|
||||
*/
|
||||
private Integer manageType;
|
||||
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class LeaderAndPermissionRes {
|
||||
/**
|
||||
* 小组nodeId
|
||||
*/
|
||||
private Long groupNodeId;
|
||||
/**
|
||||
* 工作台id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 小组长Personid
|
||||
*/
|
||||
private Long groupLeaderPersonId;
|
||||
/**
|
||||
* 团队Id
|
||||
*/
|
||||
private Long ouId;
|
||||
|
||||
/**
|
||||
* 小组长身份id
|
||||
*/
|
||||
private Long groupLeaderIdentityId;
|
||||
/**
|
||||
* 权限名列表
|
||||
*/
|
||||
private List<String> permissionNameList = Lists.newArrayListWithExpectedSize(3);
|
||||
/**
|
||||
* 小组状态 0-未激活 1-已激活 2-已结束
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 是否逻辑删除(0:未删除,1:已删除)
|
||||
*/
|
||||
private Long isDelete;
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 未设置小组长工人
|
||||
* @author zhongjie
|
||||
* @date 2022/12/3 10:01
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class NoleaderProjectGroupWorkerRes {
|
||||
|
||||
/**
|
||||
* 项目内工人id
|
||||
*/
|
||||
private Long projectWorkerId;
|
||||
/**
|
||||
* 工人身份id
|
||||
*/
|
||||
private Long identityId;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 工人手机号
|
||||
*/
|
||||
private String phone;
|
||||
/**
|
||||
* 人脸地址
|
||||
*/
|
||||
private String faceUrl;
|
||||
/**
|
||||
* 工种集合
|
||||
*/
|
||||
private List<ProjectGroupWorkerProfession> professionList;
|
||||
/**
|
||||
* 技能标签
|
||||
*/
|
||||
private List<ProjectWorkerSkillTagRes> skillTagList;
|
||||
/**
|
||||
* 技工/普工
|
||||
*/
|
||||
private String professionCategory;
|
||||
|
||||
@Data
|
||||
public static class ProjectGroupWorkerProfession {
|
||||
private String professionName;
|
||||
|
||||
private Long professionId;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 未分组工人
|
||||
* @author wxf
|
||||
* @date 2022/11/30 10:50
|
||||
*/
|
||||
@Data
|
||||
public class ProjectDirectGroupUngroupedWorkerResp extends ProjectWorkerBaseInfo {
|
||||
/**
|
||||
* 平台班组id
|
||||
*/
|
||||
private Long platTeamId;
|
||||
/**
|
||||
* 项目内班组id
|
||||
*/
|
||||
private Long projectTeamId;
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 项目直属小组工人
|
||||
* @author wxf
|
||||
* @date 2022/11/30 11:48
|
||||
*/
|
||||
@Data
|
||||
public class ProjectDirectGroupWorkerListResp extends ProjectWorkerBaseInfo {
|
||||
|
||||
}
|
||||
@ -0,0 +1,59 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author zr
|
||||
* @Date 2024/2/4 15:33
|
||||
* @Description
|
||||
**/
|
||||
@Data
|
||||
public class ProjectGroupAndWorkerResp {
|
||||
|
||||
/**
|
||||
* 小组及工人列表
|
||||
*/
|
||||
private List<GroupWorkerRes> groupWorkers;
|
||||
|
||||
/**
|
||||
* 未分组小组工人列表
|
||||
*/
|
||||
private List<ProjectNodeWorkerResp> unJoinGroupWorker;
|
||||
|
||||
@Data
|
||||
public static class GroupWorkerRes {
|
||||
/**
|
||||
* 小组下工人列表
|
||||
*/
|
||||
private List<ProjectNodeWorkerResp> groupWorkers;
|
||||
|
||||
/**
|
||||
* 小组名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 所属的项目内班组id
|
||||
*/
|
||||
private Long belongProjectTeamId;
|
||||
|
||||
/**
|
||||
* 小组nodeId节点
|
||||
*/
|
||||
private Long organizationalNodeId;
|
||||
|
||||
/**
|
||||
* 小组长姓名
|
||||
*/
|
||||
private String ownerWorkerName;
|
||||
|
||||
/**
|
||||
* 小组id
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,87 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhongjie
|
||||
* @date 2022/11/30 16:01
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class ProjectGroupListRes {
|
||||
|
||||
/**
|
||||
* 小组列表
|
||||
*/
|
||||
private List<ProjectGroupInfo> projectGroupList;
|
||||
|
||||
@Data
|
||||
public static class ProjectGroupInfo {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 小组名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 所属的项目内班组id
|
||||
*/
|
||||
private Long belongProjectTeamId;
|
||||
/**
|
||||
* 所属的平台班组id
|
||||
*/
|
||||
private Long belongPlatTeamId;
|
||||
|
||||
/**
|
||||
* 小组长姓名
|
||||
*/
|
||||
private Long ownerProjectWorkerId;
|
||||
/**
|
||||
* 小组长姓名
|
||||
*/
|
||||
private String ownerWorkerName;
|
||||
/**
|
||||
* 小组长手机号
|
||||
*/
|
||||
private String ownerWorkerPhone;
|
||||
/**
|
||||
* 小组长照片
|
||||
*/
|
||||
private String ownerWorkerFaceUrl;
|
||||
/**
|
||||
* 小组类型 0-直属小组 1-合作小组
|
||||
*/
|
||||
private Integer groupType;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateAt;
|
||||
|
||||
/**
|
||||
* 工人列表
|
||||
*/
|
||||
List<NoleaderProjectGroupWorkerRes> projectGroupWorkerList;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author zr
|
||||
* @Date 2024/1/16 10:03
|
||||
* @Description
|
||||
**/
|
||||
@Data
|
||||
public class ProjectGroupNodeRes extends ProjectGroupRes {
|
||||
/**
|
||||
* nodeId节点
|
||||
*/
|
||||
private Long nodeId;
|
||||
|
||||
/**
|
||||
* 原项目内班组id
|
||||
*/
|
||||
private Long sourceProjectTeamId;
|
||||
|
||||
/**
|
||||
* 原班组id
|
||||
*/
|
||||
private Long sourcePlatTeamId;
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import cn.axzo.orgmanax.dto.projectgroup.enums.ProjectGroupOwnerPermissionEnum;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 小组长权限
|
||||
* @author wxf
|
||||
* @date 2022/11/29 19:13
|
||||
*/
|
||||
@Data
|
||||
public class ProjectGroupOwnerPermissionRes {
|
||||
|
||||
/**
|
||||
* 小组长工人身份id
|
||||
*/
|
||||
private Long ownerWorkerIdentityId;
|
||||
|
||||
/**
|
||||
* 权限集合
|
||||
*/
|
||||
private List<ProjectGroupOwnerPermission> permissionList;
|
||||
|
||||
@Data
|
||||
public static class ProjectGroupOwnerPermission {
|
||||
|
||||
/**
|
||||
* 权限类型
|
||||
*/
|
||||
private ProjectGroupOwnerPermissionEnum type;
|
||||
/**
|
||||
* 权限开启标识 true-开启 反则-关闭
|
||||
*/
|
||||
private Boolean openFlag;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,94 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhongjie
|
||||
* @date 2022/11/30 16:01
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ProjectGroupRes {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 小组名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 所属的项目内班组id
|
||||
*/
|
||||
private Long belongProjectTeamId;
|
||||
/**
|
||||
* 所属的平台班组id
|
||||
*/
|
||||
private Long belongPlatTeamId;
|
||||
|
||||
/**
|
||||
* 小组nodeId节点
|
||||
*/
|
||||
private Long organizationalNodeId;
|
||||
|
||||
|
||||
/**
|
||||
* 小组长身份id
|
||||
*/
|
||||
private Long ownerWorkerIdentityId;
|
||||
/**
|
||||
* 小组长自然人ID
|
||||
*/
|
||||
private Long ownerWorkerPersonId;
|
||||
/**
|
||||
* 小组长项目内工人id
|
||||
*/
|
||||
private Long ownerProjectWorkerId;
|
||||
|
||||
/**
|
||||
* 小组长姓名
|
||||
*/
|
||||
private String ownerWorkerName;
|
||||
/**
|
||||
* 小组长手机号
|
||||
*/
|
||||
private String ownerWorkerPhone;
|
||||
/**
|
||||
* 小组长照片
|
||||
*/
|
||||
private String ownerWorkerFaceUrl;
|
||||
/**
|
||||
* 小组类型 0-直属小组 1-合作小组
|
||||
*/
|
||||
private Integer groupType;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateAt;
|
||||
/**
|
||||
* 小组激活状态:1-已激活 2-已结束
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 经营范围
|
||||
*/
|
||||
List<TeamCategoryDTO> teamCategoryList;
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ProjectNodeWorkerResp {
|
||||
|
||||
private String name;
|
||||
|
||||
private Long workerIdentityId;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String workerFaceUrl;
|
||||
|
||||
@JsonIgnore
|
||||
private Long projectWorkerId;
|
||||
@JsonIgnore
|
||||
private Long projectTeamId;
|
||||
|
||||
//平台班组Id
|
||||
private Long platTeamId;
|
||||
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* 技工、普工
|
||||
*/
|
||||
private String skillType;
|
||||
|
||||
public void setSkillType(String skillType) {
|
||||
this.skillType = skillType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 工种集合
|
||||
*/
|
||||
private List<ProjectWorkerProfessionRes> professionList;
|
||||
/**
|
||||
* 技能标签
|
||||
*/
|
||||
private List<ProjectWorkerSkillTagRes> skillTagList;
|
||||
|
||||
private Long nodeId;
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @ClassName ProjectTeamGroupWorkerRes
|
||||
* @Author zr
|
||||
* @Date 2023/6/26 17:22
|
||||
* @Description 班组下小组成员列表
|
||||
**/
|
||||
@Data
|
||||
public class ProjectTeamGroupWorkerRes {
|
||||
/**
|
||||
* 项目内班组id
|
||||
*/
|
||||
private Long projectTeamId;
|
||||
|
||||
/**
|
||||
* 小组id
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 工人身份id
|
||||
*/
|
||||
private Long workerIdentityId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目内工人基础信息
|
||||
* @author wxf
|
||||
* @date 2022/11/30 11:09
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ProjectWorkerBaseInfo {
|
||||
/**
|
||||
* 工人自然人id
|
||||
*/
|
||||
private Long workerPersonId;
|
||||
/**
|
||||
* 工人身份id
|
||||
*/
|
||||
private Long workerIdentityId;
|
||||
/**
|
||||
* 工人名称
|
||||
*/
|
||||
private String workerName;
|
||||
/**
|
||||
* 工人手机号
|
||||
*/
|
||||
private String workerPhone;
|
||||
/**
|
||||
* 工人人脸照片
|
||||
*/
|
||||
private String workerFaceUrl;
|
||||
/**
|
||||
* 工种类别 普工、技工
|
||||
*/
|
||||
private String professionCategoryName;
|
||||
/**
|
||||
* 工种
|
||||
*/
|
||||
private List<ProjectWorkerProfessionRes> professionList;
|
||||
/**
|
||||
* 技能标签
|
||||
*/
|
||||
private List<ProjectWorkerSkillTagRes> skillTagList;
|
||||
|
||||
/**
|
||||
* 是否为黑名单 0-否 1-是
|
||||
*/
|
||||
private Integer blackType;
|
||||
|
||||
/**
|
||||
* 工人在项目内班组 0、未激活 1、已激活 3已退场
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 工人入场时间
|
||||
*/
|
||||
private Date joinAt;
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
/**
|
||||
* @author wenXueFeng
|
||||
* @date 2022/7/3 16:20
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ProjectWorkerProfessionRes {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 技能标签 null-无 1-普工 2-技工
|
||||
*/
|
||||
private Integer skillType;
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
package cn.axzo.orgmanax.dto.projectgroup.resp;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author wenXueFeng
|
||||
* @date 2022/7/3 16:21
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ProjectWorkerSkillTagRes {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 父级code
|
||||
*/
|
||||
private String parentCode;
|
||||
/**
|
||||
* code
|
||||
*/
|
||||
private String code;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 工种id
|
||||
*/
|
||||
private Long professionId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author zr
|
||||
* @Date 2024/1/19 14:27
|
||||
* @Description
|
||||
**/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class ProfessionDTO {
|
||||
|
||||
/**
|
||||
* 工种名称
|
||||
*/
|
||||
private String professionName;
|
||||
/**
|
||||
* 工种id
|
||||
*/
|
||||
private Long professionId;
|
||||
/**
|
||||
* 工种创建时间
|
||||
*/
|
||||
private Date createAt;
|
||||
/**
|
||||
* 是否有效
|
||||
*/
|
||||
private Integer valid;
|
||||
/**
|
||||
* 1.普工 2.技工
|
||||
*/
|
||||
private Integer skillType;
|
||||
|
||||
/**
|
||||
* 技能标签
|
||||
*/
|
||||
private List<SkillTagDTO> skillTags;
|
||||
|
||||
public void computeLevel(int level) {
|
||||
if (CollectionUtils.isNotEmpty(skillTags)) {
|
||||
for (SkillTagDTO skill : skillTags) {
|
||||
skill.computeLevel(level);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.dto;
|
||||
|
||||
import cn.axzo.orgmanax.dto.workerprofession.model.ProfessionSkillTagTreeNode;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/6/7
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProfessionTagBriefDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4864924282236897602L;
|
||||
|
||||
/**
|
||||
* 工种id
|
||||
*/
|
||||
private Long professionId;
|
||||
/**
|
||||
* 工种名称
|
||||
*/
|
||||
private String professionName;
|
||||
/**
|
||||
* 工种类型: 1-普工 2-技工
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 技能标签列表
|
||||
*/
|
||||
private List<ProfessionSkillTagTreeNode> skillTags;
|
||||
|
||||
public boolean isInvalid() {
|
||||
return Objects.isNull(professionId)
|
||||
|| ObjectUtil.isEmpty(professionName)
|
||||
|| (CollectionUtil.isNotEmpty(skillTags) && skillTags.stream().anyMatch(ProfessionSkillTagTreeNode::isInvalid));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author zr
|
||||
* @Date 2024/1/19 14:28
|
||||
* @Description
|
||||
**/
|
||||
@Data
|
||||
public class SkillTagDTO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 父级code
|
||||
*/
|
||||
private String parentCode;
|
||||
/**
|
||||
* code
|
||||
*/
|
||||
private String code;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 工种id
|
||||
*/
|
||||
private Long professionId;
|
||||
|
||||
private List<SkillTagDTO> childSkillTags;
|
||||
|
||||
private int level;
|
||||
|
||||
public void computeLevel(int level) {
|
||||
this.level = level;
|
||||
if (CollectionUtils.isNotEmpty(childSkillTags)) {
|
||||
for (SkillTagDTO child : childSkillTags) {
|
||||
child.computeLevel(level + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,67 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.dto;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Data
|
||||
public class StandardWorkerProfessionDTO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long professionId;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String professionName;
|
||||
/**
|
||||
* 工种类别 来源产业技术
|
||||
*/
|
||||
private Integer skillType;
|
||||
|
||||
/**
|
||||
* 技能标签
|
||||
*/
|
||||
private List<StandardWorkerSkillDTO> skillTags;
|
||||
|
||||
|
||||
public static List<WorkerProfessionDto> convertToUsed(List<StandardWorkerProfessionDTO> dtos) {
|
||||
if (CollUtil.isEmpty(dtos)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
return dtos.stream().map(dto -> {
|
||||
WorkerProfessionDto oldDto = new WorkerProfessionDto();
|
||||
oldDto.setId(dto.getProfessionId());
|
||||
oldDto.setName(dto.getProfessionName());
|
||||
oldDto.setProfessionCategory(dto.getSkillType());
|
||||
if (CollUtil.isNotEmpty(dto.getSkillTags())) {
|
||||
List<WorkerSkillDto> subList = treeTraverseConvert(dto.getSkillTags());
|
||||
oldDto.setWorkerSkillDtos(subList);
|
||||
}
|
||||
return oldDto;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private static List<WorkerSkillDto> treeTraverseConvert(List<StandardWorkerSkillDTO> dtos) {
|
||||
if (CollUtil.isEmpty(dtos)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<WorkerSkillDto> resList = Lists.newArrayListWithCapacity(dtos.size());
|
||||
for (StandardWorkerSkillDTO skillTag : dtos) {
|
||||
WorkerSkillDto workerSkillDto = new WorkerSkillDto();
|
||||
workerSkillDto.setProfessionId(skillTag.getProfessionId());
|
||||
workerSkillDto.setId(skillTag.getId());
|
||||
workerSkillDto.setCode(skillTag.getSkillTagCode());
|
||||
workerSkillDto.setName(skillTag.getSkillTagName());
|
||||
workerSkillDto.setParentCode(skillTag.getParentSkillTagCode());
|
||||
workerSkillDto.setWorkerSkillDtos(treeTraverseConvert(skillTag.getSkillTags()));
|
||||
resList.add(workerSkillDto);
|
||||
}
|
||||
return resList;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class StandardWorkerSkillDTO {
|
||||
/**
|
||||
* 工种id
|
||||
*/
|
||||
private Long professionId;
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String skillTagName;
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private String skillTagCode;
|
||||
/**
|
||||
* 父级编码
|
||||
*/
|
||||
private String parentSkillTagCode;
|
||||
|
||||
/**
|
||||
* 技能标签 子集
|
||||
*/
|
||||
private List<StandardWorkerSkillDTO> skillTags;
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class WorkerProfessionDto {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 工种类别 来源产业技术
|
||||
*/
|
||||
private Integer professionCategory;
|
||||
|
||||
/**
|
||||
* 技能标签
|
||||
*/
|
||||
private List<WorkerSkillDto> workerSkillDtos;
|
||||
}
|
||||
@ -0,0 +1,53 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.dto;
|
||||
|
||||
import cn.axzo.orgmanax.dto.common.util.NumberUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* 工人工种&技能标签DTO
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/6/3
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WorkerProfessionTagDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 6443488257054919316L;
|
||||
|
||||
/**
|
||||
* 自然人id
|
||||
*/
|
||||
private Long personId;
|
||||
/**
|
||||
* 工种&技能标签列表
|
||||
*/
|
||||
private List<ProfessionTagBriefDTO> professionTags;
|
||||
|
||||
/**
|
||||
* 附属信息
|
||||
*/
|
||||
private JSONObject bizData;
|
||||
|
||||
public boolean isInvalid() {
|
||||
return NumberUtil.isNotPositiveNumber(personId)
|
||||
|| (CollectionUtil.isNotEmpty(professionTags) && professionTags.stream().anyMatch(ProfessionTagBriefDTO::isInvalid));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wenXueFeng
|
||||
* @date 2022/7/9 10:52
|
||||
*/
|
||||
@Data
|
||||
public class WorkerSkillDto {
|
||||
/**
|
||||
* 工种id
|
||||
*/
|
||||
private Long professionId;
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private String code;
|
||||
/**
|
||||
* 父级编码
|
||||
*/
|
||||
private String parentCode;
|
||||
|
||||
/**
|
||||
* 技能标签 子集
|
||||
*/
|
||||
private List<WorkerSkillDto> workerSkillDtos;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author zhanghongbo
|
||||
* @date 2024/12/18
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum WorkerProfessionTagOperationActionType {
|
||||
SAVE,
|
||||
UPDATE;
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author cn
|
||||
* @version 1.0
|
||||
* @description
|
||||
* @date 2022/4/6 13:56
|
||||
*/
|
||||
|
||||
public interface IBaseTree<T extends IBaseTree<T, O>, O> {
|
||||
|
||||
/**
|
||||
* 节点编码
|
||||
*
|
||||
* @return 节点编码
|
||||
*/
|
||||
O getNodeCode();
|
||||
|
||||
/**
|
||||
* 父节点编码
|
||||
*
|
||||
* @return 父节点编码
|
||||
*/
|
||||
O getParentNodeCode();
|
||||
|
||||
/**
|
||||
* 子节点
|
||||
*
|
||||
* @return 子节点
|
||||
*/
|
||||
List<T> getNodeChildren();
|
||||
|
||||
/**
|
||||
* 设置子节点
|
||||
*
|
||||
* @param nodeChildren
|
||||
*/
|
||||
void setNodeChildren(List<T> nodeChildren);
|
||||
|
||||
}
|
||||
@ -0,0 +1,83 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.model;
|
||||
|
||||
import cn.axzo.trade.datasecurity.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/6/7
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProfessionSkillTagTreeNode implements Serializable, IBaseTree<ProfessionSkillTagTreeNode, String> {
|
||||
|
||||
private static final long serialVersionUID = -7045675211299001896L;
|
||||
|
||||
/**
|
||||
* 技能标签code
|
||||
*/
|
||||
private String skillTagCode;
|
||||
/**
|
||||
* 技能标签名称
|
||||
*/
|
||||
private String skillTagName;
|
||||
|
||||
/**
|
||||
* 父技能标签code
|
||||
*/
|
||||
private String parentSkillTagCode;
|
||||
|
||||
/**
|
||||
* 附属信息
|
||||
*/
|
||||
private JSONObject bizData;
|
||||
|
||||
/**
|
||||
* 子技能标签列表
|
||||
*/
|
||||
private List<ProfessionSkillTagTreeNode> children;
|
||||
|
||||
public boolean isInvalid() {
|
||||
return StringUtils.isEmpty(skillTagCode)
|
||||
|| Objects.equals(skillTagCode, parentSkillTagCode)
|
||||
|| StringUtils.isEmpty(skillTagName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNodeCode() {
|
||||
return this.skillTagCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getParentNodeCode() {
|
||||
return this.parentSkillTagCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProfessionSkillTagTreeNode> getNodeChildren() {
|
||||
return this.children;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNodeChildren(List<ProfessionSkillTagTreeNode> nodeChildren) {
|
||||
this.children = nodeChildren;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@Slf4j
|
||||
public class ListPersonProfessionTagReq implements Serializable {
|
||||
private static final long serialVersionUID = -1L;
|
||||
private Set<Long> orgNodeIds;
|
||||
private Set<Long> personIds;
|
||||
private TeamSceneEnum scene;
|
||||
|
||||
public void check() {
|
||||
if (CollectionUtils.isNotEmpty(orgNodeIds) || CollectionUtils.isNotEmpty(personIds)) {
|
||||
return;
|
||||
}
|
||||
log.warn("通用查询接口,节点id或者personIds不能都为空");
|
||||
throw new IllegalArgumentException("通用查询接口,节点id或者personIds不能都为空");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@Slf4j
|
||||
public class ListWorkerProfessionTagReq implements Serializable {
|
||||
private static final long serialVersionUID = -1L;
|
||||
private Long orgNodeId;
|
||||
private Set<Long> personIds;
|
||||
private TeamSceneEnum scene;
|
||||
private Set<Long> professionIds;
|
||||
private Boolean needSkillTags;
|
||||
|
||||
public void check() {
|
||||
if (orgNodeId != null || CollectionUtils.isNotEmpty(personIds)) {
|
||||
return;
|
||||
}
|
||||
log.warn("通用查询接口,节点id或者personIds不能都为空");
|
||||
throw new IllegalArgumentException("通用查询接口,节点id或者personIds不能都为空");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
|
||||
@SuperBuilder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Slf4j
|
||||
public class PageWorkerProfessionTagReq extends PageReqV2 implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -1L;
|
||||
private Long orgNodeId;
|
||||
private Set<Long> personIds;
|
||||
private TeamSceneEnum scene;
|
||||
private Set<Long> professionIds;
|
||||
private Boolean needSkillTags;
|
||||
|
||||
public void check() {
|
||||
if (orgNodeId != null || CollectionUtils.isNotEmpty(personIds)) {
|
||||
return;
|
||||
}
|
||||
log.warn("通用查询接口,节点id或者personIds不能都为空");
|
||||
throw new IllegalArgumentException("通用查询接口,节点id或者personIds不能都为空");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhanghongbo
|
||||
* @date 2024/12/19
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class ProjectWorkerProfessionListValidReq {
|
||||
@NotNull(message = "workspaceId must not null")
|
||||
private Long workspaceId;
|
||||
|
||||
@NotEmpty(message = "workerIdentityIds must not null")
|
||||
private List<Long> workerIdentityIds;
|
||||
|
||||
/**
|
||||
* node user表可能出现同一个人在同一个项目中在2个不同部门做工人
|
||||
*/
|
||||
@NotEmpty(message = "nodeIds must not null")
|
||||
private List<Long> nodeIds;
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhanghongbo
|
||||
* @date 2024/12/19
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class ProjectWorkerProfessionSortOutProfessionCategoryReq {
|
||||
@NotEmpty(message = "projectWorkerIdList must not null")
|
||||
private List<Long> projectWorkerIdList;
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.workerprofession.dto.StandardWorkerProfessionDTO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ProjectWorkerProfessionUpdateReq {
|
||||
|
||||
/**
|
||||
* 所属部门nodeId
|
||||
* todo teamOrGroupNodeId | nodeId 不能为空
|
||||
*/
|
||||
private Long teamOrGroupNodeId;
|
||||
|
||||
/**
|
||||
* 所属部门nodeId (项目内班组部门nodeId)
|
||||
*/
|
||||
private Long nodeId;
|
||||
|
||||
/**
|
||||
* 工人身份id
|
||||
*/
|
||||
//TODO workerIdentityId | workerIdentityIds 不能为空
|
||||
// @NotNull(message = "工人身份id不能为空")
|
||||
private Long workerIdentityId;
|
||||
|
||||
/**
|
||||
* 工人身份ids
|
||||
*/
|
||||
// @NotEmpty(message = "工人身份ids不能为空")
|
||||
private List<Long> workerIdentityIds;
|
||||
/**
|
||||
* 工种
|
||||
*/
|
||||
@NotEmpty
|
||||
private List<StandardWorkerProfessionDTO> professions;
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Builder
|
||||
public class WorkerProfessionTagListReq implements Serializable {
|
||||
private static final long serialVersionUID = -1L;
|
||||
@NotNull(message = "orgNodeId不能为null")
|
||||
private Long orgNodeId;
|
||||
@NotNull
|
||||
@Size(min = 1, max = 100, message = "personIds不能为空,且不能超过100个")
|
||||
private Set<Long> personIds;
|
||||
/**
|
||||
* 可不传,因为根据orgNodeId,已经知道是平台班组还是项目内班组。
|
||||
*/
|
||||
private TeamSceneEnum scene;
|
||||
private Set<Long> professionIds;
|
||||
private Boolean needSkillTags;
|
||||
}
|
||||
@ -0,0 +1,58 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.workerprofession.dto.WorkerProfessionTagDTO;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description
|
||||
* 工人工种&技能标签设置入参模型
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/6/3
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WorkerProfessionTagOperationConfigureReq implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 5514955519310763390L;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@NotNull(message = "orgNodeId can not be null")
|
||||
private Long orgNodeId;
|
||||
/**
|
||||
* 操作人的自然人id
|
||||
*/
|
||||
@NotNull(message = "operatorPersonId can not be null")
|
||||
private Long operatorPersonId;
|
||||
/**
|
||||
* 工人工种
|
||||
* TODO workerProfessionTag | workerProfessionTags 不能为空
|
||||
*/
|
||||
// @NotNull(message = "workerProfessionTag can not be null")
|
||||
private WorkerProfessionTagDTO workerProfessionTag;
|
||||
|
||||
/**
|
||||
* 工人工种列表
|
||||
*/
|
||||
// @Size(max = 50)
|
||||
// @NotEmpty(message = "workerProfessionTags can not be empty")
|
||||
private List<WorkerProfessionTagDTO> workerProfessionTags;
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/6/7
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WorkerProfessionTagOperationRemoveReq implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 865785656926535514L;
|
||||
|
||||
/**
|
||||
* 待移除工种的人员的自然人id
|
||||
*/
|
||||
@NotNull(message = "personId can not null")
|
||||
private Long personId;
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@NotNull(message = "orgNodeId can not null")
|
||||
private Long orgNodeId;
|
||||
/**
|
||||
* 当前操作人的自然人id
|
||||
*/
|
||||
@NotNull(message = "operatorPersonId can not null")
|
||||
private Long operatorPersonId;
|
||||
/**
|
||||
* 工种id
|
||||
*/
|
||||
@NotNull(message = "professionId can not null")
|
||||
private Long professionId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,58 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.workerprofession.dto.ProfessionTagBriefDTO;
|
||||
import cn.axzo.orgmanax.dto.workerprofession.enums.WorkerProfessionTagOperationActionType;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @date 2024/6/7
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WorkerProfessionTagOperationUpsertReq implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -3078890508111501603L;
|
||||
|
||||
/**
|
||||
* 动作类型,新增|修改
|
||||
*/
|
||||
@NotNull(message = "actionType can not be null")
|
||||
private WorkerProfessionTagOperationActionType actionType;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@NotNull(message = "orgNodeId can not be null")
|
||||
private Long orgNodeId;
|
||||
/**
|
||||
* 当前操作人的自然人id
|
||||
*/
|
||||
@NotNull(message = "operatorPersonId can not be null")
|
||||
private Long operatorPersonId;
|
||||
/**
|
||||
* 当前人员的自然人id
|
||||
*/
|
||||
@NotNull(message = "personId can not be null")
|
||||
private Long personId;
|
||||
/**
|
||||
* 工种及其关联的技能标签列表
|
||||
*/
|
||||
@NotNull(message = "personId can not be null")
|
||||
private ProfessionTagBriefDTO profession;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @Author zr
|
||||
* @Date 2024/6/12 18:16
|
||||
* @Description
|
||||
**/
|
||||
@Data
|
||||
public class WorkerProfessionTagOperationValidUpdateReq {
|
||||
|
||||
/**
|
||||
* 待移除工种的人员的自然人id
|
||||
*/
|
||||
@NotNull(message = "personId can not null")
|
||||
@Size(min = 1, message = "personId must be greater than 1")
|
||||
private Set<Long> personIds;
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@NotNull(message = "orgNodeId can not null")
|
||||
private Long orgNodeId;
|
||||
/**
|
||||
* 当前操作人的自然人id
|
||||
*/
|
||||
@NotNull(message = "operatorPersonId can not null")
|
||||
private Long operatorPersonId;
|
||||
/**
|
||||
* 工种id列表
|
||||
*/
|
||||
private Set<Long> professionIds;
|
||||
|
||||
private Boolean valid = Boolean.FALSE;
|
||||
|
||||
public Long getOperatorPersonId(){
|
||||
if(Objects.isNull(this.operatorPersonId)){
|
||||
return -1L;
|
||||
}
|
||||
return this.operatorPersonId;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.req;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author zhanghongbo
|
||||
* @date 2024/12/19
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@SuperBuilder
|
||||
public class WorkerProfessionTagQueryPageReq extends PageReqV2 {
|
||||
private Long orgNodeId;
|
||||
private Set<Long> personIds;
|
||||
private TeamSceneEnum scene;
|
||||
private Set<Long> professionIds;
|
||||
private Boolean needSkillTags;
|
||||
private Set<Long> orgNodeIds;
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
package cn.axzo.orgmanax.dto.workerprofession.resp;
|
||||
|
||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||
import cn.axzo.orgmanax.dto.workerprofession.model.ProfessionSkillTagTreeNode;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Builder
|
||||
public class WorkerProfessionTagResp implements Serializable {
|
||||
protected Long id;
|
||||
/**
|
||||
* 自然人id
|
||||
*/
|
||||
private Long personId;
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
/**
|
||||
* 组织节点id
|
||||
*/
|
||||
private Long orgNodeId;
|
||||
/**
|
||||
* 班组场景
|
||||
*/
|
||||
private TeamSceneEnum scene;
|
||||
/**
|
||||
* 工种类型
|
||||
* NONE(0, "无"),
|
||||
* COMMON(1, "普工"),
|
||||
* ENGINE_MAN(2, "技工"),
|
||||
*
|
||||
* cn.axzo.data.collection.constant.enums.SkillTypeEnum
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 工种id
|
||||
*/
|
||||
private Long professionId;
|
||||
/**
|
||||
* 工种名称
|
||||
*/
|
||||
private String professionName;
|
||||
/**
|
||||
* 数据有效性标记
|
||||
*/
|
||||
private Integer valid;
|
||||
/**
|
||||
* 技能标签列表
|
||||
*/
|
||||
private List<ProfessionSkillTagTreeNode> skillTags;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user