diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloGroupTaskOrderClient.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloGroupTaskOrderClient.java index 97957ae..c8b177f 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloGroupTaskOrderClient.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloGroupTaskOrderClient.java @@ -1,11 +1,12 @@ package cn.axzo.orgmanax.infra.client.apollo; -import cn.axzo.orgmanax.infra.client.apollo.dto.CheckProjectTeamWorkerIsFinishGroupTaskResp; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloCheckProjectTeamWorkerIsFinishGroupTaskResp; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetUnFinishGroupTaskByIdResp; import java.util.List; /** - * apollo 服务调用 + * apollo 小组任务单相关 */ public interface ApolloGroupTaskOrderClient { @@ -13,6 +14,14 @@ public interface ApolloGroupTaskOrderClient { * 查询项目内班组下 某一批工人是否有未完成直属小组任务单 * @return 任务单详情 */ - List checkProjectTeamWorkerIsFinishGroupTask(Long projectTeamId, List workerIds); + List checkProjectTeamWorkerIsFinishGroupTask(Long projectTeamId, List workerIds); + + /** + * 根据直属小组id查询未完成的任务单 + * + * @param groupId 小组id + * @return 任务单详情 + */ + List getUnFinishGroupTaskById(Long groupId); } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTaskOrderClient.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTaskOrderClient.java new file mode 100644 index 0000000..7e9731d --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTaskOrderClient.java @@ -0,0 +1,31 @@ +package cn.axzo.orgmanax.infra.client.apollo; + +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetTaskProcessingDetailByAfterTimeReq; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetTaskProcessingDetailByAfterTimeResp; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloQueryEffectiveProjectTaskOrderReq; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloQueryEffectiveProjectTaskOrderResp; +import cn.axzo.orgmanax.infra.client.common.dto.PageResult; + +import java.util.List; + +/** + * apollo 任务单相关 + * @author zhanghongbo + * @date 2024/12/10 + */ +public interface ApolloTaskOrderClient { + /** + * 查询项目内生效的任务单 + * @param req + * @return + */ + List queryEffectiveProjectTaskOrder(ApolloQueryEffectiveProjectTaskOrderReq req); + + /** + * 查询某个时间段 以后的任务单,供 基础那边使用, 他们定了 type 类型 2,4 还有订单的状态(完成) 全量的数据,没有区分 workspaceId \ projectId + * 查询的是 TaskOrder 表,用 TaskProcessingDetail 类去接收 + * @param req + * @return + */ + PageResult getTaskProcessingDetailByAfterTime(ApolloGetTaskProcessingDetailByAfterTimeReq req); +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTeamTaskOrderClient.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTeamTaskOrderClient.java new file mode 100644 index 0000000..825eacf --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTeamTaskOrderClient.java @@ -0,0 +1,21 @@ +package cn.axzo.orgmanax.infra.client.apollo; + +import cn.axzo.orgmanax.infra.client.apollo.dto.*; + +import java.util.List; +import java.util.Set; + +/** + * apollo 任务单相关 + * @author zhanghongbo + * @date 2024/12/10 + */ +public interface ApolloTeamTaskOrderClient { + /** + * 获取项目内班组是否有未完结任务单 + * @param workspaceId + * @param projectTeamIds + * @return + */ + List checkProjectTeamTaskIsComplete(Long workspaceId, Set projectTeamIds); +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloWorkerTaskOrderClient.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloWorkerTaskOrderClient.java new file mode 100644 index 0000000..35b7adb --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloWorkerTaskOrderClient.java @@ -0,0 +1,73 @@ +package cn.axzo.orgmanax.infra.client.apollo; + +import cn.axzo.orgmanax.infra.client.apollo.dto.*; + +import java.util.List; +import java.util.Map; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +public interface ApolloWorkerTaskOrderClient { + /** + * 通过班组id和工人id获取工人未完成的任务单数 + * @param teamId + * @param workerId + * @return + */ + List listUnCompleteWorkerTaskOrder(Long teamId, Long workerId); + + /** + * 通过班组id和工人id获取工人未完成的任务单数 + * @param projectId + * @param projectTeamId + * @param workerId + * @return + */ + List listUnCompleteWorkerTaskOrderNew(Long projectId, Long projectTeamId, Long workerId); + + /** + * 通过班组id和工人id获取工人未完成的任务单数-批量 + * @param reqs + * @return 数量,已人作为key + */ + Map batchUnCompleteWorker(List reqs); + + /** + * workspaceId和工人ids查询是否有未完成任务单 + * @param workspaceId + * @param workerIds + * @return + */ + List checkWorkerTaskIsFinish(Long workspaceId, List workerIds); + + /** + * 通过班组id获取班组未完成任务单数 + * @param teamId + * @return + */ + List listUnCompleteTeamTaskOrder(Long teamId); + + /** + * 通过工人id和项目部id获取 未开始和施工中任务 + * @param workspaceId + * @param workerId + * @return + */ + List listWorkerTaskByWorkerIdAndWorkspaceId(Long workspaceId, Long workerId); + + /** + * 撤销未派发工人任务单 + * @param workspaceId + * @param workerId + */ + void cancelUnDistributeWorkerTask(Long workspaceId, Long workerId); + + /** + * 获取用户标签-用于清洗 + * @param req + * @return + */ + List getPersonTagByClean(ApolloGetPersonTagByCleanReq req); +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloBatchUnCompleteWorkerReq.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloBatchUnCompleteWorkerReq.java new file mode 100644 index 0000000..ac10e54 --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloBatchUnCompleteWorkerReq.java @@ -0,0 +1,11 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class ApolloBatchUnCompleteWorkerReq { +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloCheckProjectTeamTaskIsCompleteResp.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloCheckProjectTeamTaskIsCompleteResp.java new file mode 100644 index 0000000..1e95c19 --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloCheckProjectTeamTaskIsCompleteResp.java @@ -0,0 +1,20 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class ApolloCheckProjectTeamTaskIsCompleteResp { + /** + * 项目内班组id + */ + private Long projectTeamId; + + /** + * 是否有未完成任务单 0否 1是 + */ + private Integer isComplete; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/CheckProjectTeamWorkerIsFinishGroupTaskResp.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloCheckProjectTeamWorkerIsFinishGroupTaskResp.java similarity index 85% rename from orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/CheckProjectTeamWorkerIsFinishGroupTaskResp.java rename to orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloCheckProjectTeamWorkerIsFinishGroupTaskResp.java index 77de675..c257d27 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/CheckProjectTeamWorkerIsFinishGroupTaskResp.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloCheckProjectTeamWorkerIsFinishGroupTaskResp.java @@ -6,7 +6,7 @@ import lombok.Data; * 检查项目内班组下工人是否有未完成的直属小组单 **/ @Data -public class CheckProjectTeamWorkerIsFinishGroupTaskResp { +public class ApolloCheckProjectTeamWorkerIsFinishGroupTaskResp { /** diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloCheckWorkerTaskIsFinishResp.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloCheckWorkerTaskIsFinishResp.java new file mode 100644 index 0000000..28478ef --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloCheckWorkerTaskIsFinishResp.java @@ -0,0 +1,27 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class ApolloCheckWorkerTaskIsFinishResp { + + /** + * 工人id + */ + private Long workerId; + + + /** + * 是否有未完成的任务单 + */ + private Boolean isFinish = false; + + /** + * 未完成任务的数量 + */ + private Integer unFinishCount=0; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetPersonTagByCleanReq.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetPersonTagByCleanReq.java new file mode 100644 index 0000000..00ab29b --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetPersonTagByCleanReq.java @@ -0,0 +1,18 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.Size; +import java.util.List; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class ApolloGetPersonTagByCleanReq { + @Valid + @Size(max = 50) + List personReqList; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetPersonTagByCleanResp.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetPersonTagByCleanResp.java new file mode 100644 index 0000000..f601e47 --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetPersonTagByCleanResp.java @@ -0,0 +1,51 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class ApolloGetPersonTagByCleanResp { + + /** + * 服务名 + */ + private String appCode; + /** + * 标签名 + */ + private String tagName; + /** + * 标签code + */ + private String tagCode; + /** + * 操作类型 PersonTagTypeEnum(UPSERT,DELETE) + */ + private String type = "UPSERT"; + /** + * 自然人id + */ + private Long personId; + + /** + * 项目部 + */ + private Long workspaceId; + /** + * 单位id + */ + private Long organizationalUnitId; + + /** + * 部门节点id + */ + private Long organizationalNodeId; + /** + * 业务自定义属性值 json 类型 + */ + private String value; + +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetTaskProcessingDetailByAfterTimeReq.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetTaskProcessingDetailByAfterTimeReq.java new file mode 100644 index 0000000..aff57af --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetTaskProcessingDetailByAfterTimeReq.java @@ -0,0 +1,40 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import cn.axzo.orgmanax.infra.client.common.dto.PageRequest; +import lombok.Data; + +import java.util.List; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class ApolloGetTaskProcessingDetailByAfterTimeReq extends PageRequest { + /** + * 任务单号 支持批量 + */ + private List taskNos; + + /** + * 状态集合(必填) + * 任务单状态的枚举,可支持查询多个状态 + * + * @see cn.axzo.apollo.distribute.enums.TaskOrderStatusEnum + */ + private List status; + + /** + * 任务单类型(班组任务单、工人任务单、分包任务单) (必填) + * 类型: 1:分包任务单 2:班组任务单 3:任务小组任务单 4:工人任务单 5:合作小组任务单 6:直属小组任务单 + */ + private List types; + + /** + * 班组经营范围 / 工人技能标签模糊查 + */ + private Long teamCategoryCodeVague; + + //创建时间createAt(范围查询)(起始时间必填结束时间非必填) + private Long timeBegin; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetTaskProcessingDetailByAfterTimeResp.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetTaskProcessingDetailByAfterTimeResp.java new file mode 100644 index 0000000..fb8198f --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetTaskProcessingDetailByAfterTimeResp.java @@ -0,0 +1,121 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import cn.axzo.orgmanax.infra.client.apollo.dto.model.WorkerSkillLabelInfo; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class ApolloGetTaskProcessingDetailByAfterTimeResp { + /** + * id + */ + private Long id; + + /** + * 单号 + */ + private String taskNo; + + /** + * 父级任务单号 + */ + private String parentNo; + + /** + * 项目部ID + */ + private Long workspaceId; + + /** + * 任务单类型 + * + * @see cn.axzo.apollo.distribute.enums.TaskOrderTypeEnum + */ + private Integer type; + + /** + * 任务单前置状态 + * + * @see cn.axzo.apollo.distribute.enums.TaskOrderStatusEnum + */ + private Integer preStatus; + + /** + * 任务单当前状态 + * + * @see cn.axzo.apollo.distribute.enums.TaskOrderStatusEnum + */ + private Integer status; + + /** + * 项目ID + */ + private Long projectId; + + /** + * 实际开始时间 + */ + private Date actualStartDate; + /** + * 实际结束时间 + */ + private Date actualEndDate; + + /** + * 完成时间 + */ + private Date completedAt; + + /** + * 更新时间 + */ + private Date updateAt; + + /** + * 是否逻辑删除(空: 未删除 0:未删除,1:已删除) + */ + private Long isDelete; + + /** + * 扩展json字段 + */ + private String expendJson; + + //------------------------------------------------------------------------------------// + //以下字段是 REQ-2488 新加的 + /** + * 班组长类别code + */ + private String teamCategoryCode; + + /** + * 班组类别name + */ + private String teamCategoryName; + + /** + * 匹配上的工人的技能 + */ + private List workerSkillInfo; + + /** + * 项目内班组id + */ + private Long projectTeamId; + + /** + * 接收人id + */ + private Long recipientId; + + /** + * 接收人personId + */ + private Long recipientPersonId; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetUnFinishGroupTaskByIdResp.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetUnFinishGroupTaskByIdResp.java new file mode 100644 index 0000000..61f67b2 --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloGetUnFinishGroupTaskByIdResp.java @@ -0,0 +1,257 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +import java.util.Date; + +/** + * 根据直属小组id查询未完成的任务单 + * @author zhanghongbo + * @date 2024/12/10 + */ +@Data +public class ApolloGetUnFinishGroupTaskByIdResp { + /** + * 任务单号 + */ + private String taskNo; + + /** + * 父级任务单号 + */ + private String parentNo; + + /** + * 项目工作台id + */ + private Long workspaceId; + + /** + * 项目id + */ + private Long projectId; + + /** + * 施工区域id + */ + private Long constructionAreaId; + + /** + * 派发类型: 1、合同内 2、合同外 + */ + private Integer distributeType; + + /** + * 协助拆分状态 0:未协助,1:已协助 + */ + private Integer assistStatus; + + /** + * 末级任务项md值 + */ + private String finalTaskMd5Key; + /** + * 任务单名称 + */ + private String orderName; + + /** + * 任务名称 + */ + private String taskName; + + /** + * 任务计划开始日期 + */ + private Date expectStartDate; + + /** + * 任务计划结束日期 + */ + private Date expectEndDate; + + /** + * 派发号(派工单号)用户层展示 + */ + private String distributeCode; + + /** + * 派发时间 + */ + private Date distributeTime; + + /** + * 完成时间 + */ + private Date completedAt; + /** + * 项目名称 + */ + private String projectName; + /** + * 实际任务开始时间 + */ + private Date actualStartDate; + + /** + * 实际任务结束时间 + */ + private Date actualEndDate; + + /** + * 类型: 1:分包派工单 2:班组派工单 3:小组派工单 4:工人派工单 + */ + private Integer type; + + /** + * 任务状态 0、初始化(不展示) 1、待完善 2、待派发 3、已派发 10、待接收 11、待分发 12、待施工 13、施工中 14、待验收 15、已完成 16、已撤销 17、提前终止 + */ + private Integer status; + /** + * 任务单状态描述 + */ + private String statusDesc; + + /** + * 审批状态: 0、初始化 1、审批中 2、审批通过 3、审批拒绝 4、撤销 + */ + private Integer approvalStatus; + + /** + * 审批拒绝原因 + */ + private String rejectReason; + + /** + * 派发组织id(总包id,分包id,班组id) + */ + private Long distributorOrganizationId; + /** + * 派发组织节点ID(组织节点ID) + */ + private Long distributorOrgNodeId; + + /** + * 派发组织类型 1:总包 2:劳务分包 3:专业分包 4:班组 + */ + private Integer distributorOrganizationType; + + /** + * 接收组织id (分包id,班组id,工人id) + */ + private Long recipientOrganizationId; + /** + * 接收组织节点ID (组织节点ID,工人id) + */ + private Long recipientOrgNodeId; + + /** + * 接收者类型 1:劳务分包 2:专业分包 3:班组 4:工人 + */ + private Integer recipientOrganizationType; + + /** + * 派发人id + */ + private Long distributorId; + /** + * 派发人id + */ + private Long distributorPersonId; + + /** + * 派发人类型 1:总包从业人员 2:分包从业人员 3:班组长 4:工人 + */ + private Integer distributorType; + + /** + * 接收人id + */ + private Long recipientId; + /** + * 接收人id + */ + private Long recipientPersonId; + + /** + * 接收人类型 1:总包从业人员 2:分包从业人员 3:班组长 4:工人 + */ + private Integer recipientType; + + /** + * 版本号 0老版本 + */ + private Integer version; + + /** + * 备注 + */ + private String remark; + + /** + * 项目内班组id + */ + private Long projectTeamId; + /** + * 班组长姓名(冗余) + */ + private String teamOwnerName; + + /** + * 班组长手机号(冗余) + */ + private Integer teamOwnerPhone; + + /** + * 班组长类别code(冗余) + */ + private String teamCategoryCode; + + /** + * 班组类别name(冗余) + */ + private String teamCategoryName; + + /** + * 任务树模板(冗余) + */ + private Long taskTreeTempId; + + /** + * 所属公司名称(冗余) + */ + private String entName; + + /** + * 创建者身份id + */ + //private Long creatorId; + /** + * 创建者id + */ + private Long creatorPersonId; + + /** + * 更新者身份id + */ + //private Long updaterId; + /** + * 更新者id + */ + private Long updaterPersonId; + + /** + * 创建时间 + */ + private Date createAt; + + /** + * 更新时间 + */ + private Date updateAt; + + /** + * 是否逻辑删除(0:未删除,1:已删除) + */ + private Long isDelete; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloQueryEffectiveProjectTaskOrderReq.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloQueryEffectiveProjectTaskOrderReq.java new file mode 100644 index 0000000..402fe8d --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloQueryEffectiveProjectTaskOrderReq.java @@ -0,0 +1,38 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Set; + +/** + * @author zhanghongbo + * @date 2024/12/10 + */ +@Data +public class ApolloQueryEffectiveProjectTaskOrderReq { + /** + * 班组类别/工人工种 + */ + @NotEmpty(message = "班组类别/工人工种不能为空") + private Set categoryCodes; + + /** + * 任务单类型 2班组任务单(包含合作小组任务单) 4工人任务单 + */ + @NotNull(message = "任务单类型不能为空") + private Integer taskOrderType; + + /** + * 接收组织id(项目内班组id,工人id) + */ + @NotNull(message = "接收组织id不能为空") + private Long recipientOrganizationId; + + /** + * 项目部id + */ + @NotNull(message = "项目部id不能为空") + private Long workspaceId; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloQueryEffectiveProjectTaskOrderResp.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloQueryEffectiveProjectTaskOrderResp.java new file mode 100644 index 0000000..8ffe0ea --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloQueryEffectiveProjectTaskOrderResp.java @@ -0,0 +1,38 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +/** + * @author zhanghongbo + * @date 2024/12/10 + */ +@Data +public class ApolloQueryEffectiveProjectTaskOrderResp { + /** + * 任务单号 + */ + private String taskNo; + + /** + * 项目部名称 + */ + private String workspaceName; + + /** + * 工人名称 + */ + private String workerName; + + /** + * 任务单名称 + */ + private String taskOrderName; + /** + * 工种ID + */ + private String professionIds; + /** + * 工种名称 + */ + private String professionNames; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloTaskOrderResp.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloTaskOrderResp.java new file mode 100644 index 0000000..fa4e672 --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloTaskOrderResp.java @@ -0,0 +1,257 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +import java.util.Date; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class ApolloTaskOrderResp { + + /** + * 任务单号 + */ + private String taskNo; + + /** + * 父级任务单号 + */ + private String parentNo; + + /** + * 项目工作台id + */ + private Long workspaceId; + + /** + * 项目id + */ + private Long projectId; + + /** + * 施工区域id + */ + private Long constructionAreaId; + + /** + * 派发类型: 1、合同内 2、合同外 + */ + private Integer distributeType; + + /** + * 协助拆分状态 0:未协助,1:已协助 + */ + private Integer assistStatus; + + /** + * 末级任务项md值 + */ + private String finalTaskMd5Key; + /** + * 任务单名称 + */ + private String orderName; + + /** + * 任务名称 + */ + private String taskName; + + /** + * 任务计划开始日期 + */ + private Date expectStartDate; + + /** + * 任务计划结束日期 + */ + private Date expectEndDate; + + /** + * 派发号(派工单号)用户层展示 + */ + private String distributeCode; + + /** + * 派发时间 + */ + private Date distributeTime; + + /** + * 完成时间 + */ + private Date completedAt; + /** + * 项目名称 + */ + private String projectName; + /** + * 实际任务开始时间 + */ + private Date actualStartDate; + + /** + * 实际任务结束时间 + */ + private Date actualEndDate; + + /** + * 类型: 1:分包派工单 2:班组派工单 3:小组派工单 4:工人派工单 + */ + private Integer type; + + /** + * 任务状态 0、初始化(不展示) 1、待完善 2、待派发 3、已派发 10、待接收 11、待分发 12、待施工 13、施工中 14、待验收 15、已完成 16、已撤销 17、提前终止 + */ + private Integer status; + /** + * 任务单状态描述 + */ + private String statusDesc; + + /** + * 审批状态: 0、初始化 1、审批中 2、审批通过 3、审批拒绝 4、撤销 + */ + private Integer approvalStatus; + + /** + * 审批拒绝原因 + */ + private String rejectReason; + + /** + * 派发组织id(总包id,分包id,班组id) + */ + private Long distributorOrganizationId; + /** + * 派发组织节点ID(组织节点ID) + */ + private Long distributorOrgNodeId; + + /** + * 派发组织类型 1:总包 2:劳务分包 3:专业分包 4:班组 + */ + private Integer distributorOrganizationType; + + /** + * 接收组织id (分包id,班组id,工人id) + */ + private Long recipientOrganizationId; + /** + * 接收组织节点ID (组织节点ID,工人id) + */ + private Long recipientOrgNodeId; + + /** + * 接收者类型 1:劳务分包 2:专业分包 3:班组 4:工人 + */ + private Integer recipientOrganizationType; + + /** + * 派发人id + */ + private Long distributorId; + /** + * 派发人id + */ + private Long distributorPersonId; + + /** + * 派发人类型 1:总包从业人员 2:分包从业人员 3:班组长 4:工人 + */ + private Integer distributorType; + + /** + * 接收人id + */ + private Long recipientId; + /** + * 接收人id + */ + private Long recipientPersonId; + + /** + * 接收人类型 1:总包从业人员 2:分包从业人员 3:班组长 4:工人 + */ + private Integer recipientType; + + /** + * 版本号 0老版本 + */ + private Integer version; + + /** + * 备注 + */ + private String remark; + + /** + * 项目内班组id + */ + private Long projectTeamId; + /** + * 班组长姓名(冗余) + */ + private String teamOwnerName; + + /** + * 班组长手机号(冗余) + */ + private Integer teamOwnerPhone; + + /** + * 班组长类别code(冗余) + */ + private String teamCategoryCode; + + /** + * 班组类别name(冗余) + */ + private String teamCategoryName; + + /** + * 任务树模板(冗余) + */ + private Long taskTreeTempId; + + /** + * 所属公司名称(冗余) + */ + private String entName; + + /** + * 创建者身份id + */ + //private Long creatorId; + /** + * 创建者id + */ + private Long creatorPersonId; + + /** + * 更新者身份id + */ + //private Long updaterId; + /** + * 更新者id + */ + private Long updaterPersonId; + + /** + * 创建时间 + */ + private Date createAt; + + /** + * 更新时间 + */ + private Date updateAt; + + /** + * 是否逻辑删除(0:未删除,1:已删除) + */ + private Long isDelete; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloWorkspaceAndPersonReq.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloWorkspaceAndPersonReq.java new file mode 100644 index 0000000..d620fc3 --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/ApolloWorkspaceAndPersonReq.java @@ -0,0 +1,22 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class ApolloWorkspaceAndPersonReq { + @NotNull(message = "项目部Id不能为空") + @Min(1) + private Long workspaceId; + + + @NotNull(message = "工人personId不能为空") + @Min(1) + private Long personId; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/model/WorkerSkillLabelInfo.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/model/WorkerSkillLabelInfo.java new file mode 100644 index 0000000..b1d07e5 --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/dto/model/WorkerSkillLabelInfo.java @@ -0,0 +1,41 @@ +package cn.axzo.orgmanax.infra.client.apollo.dto.model; + +import lombok.Data; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@Data +public class WorkerSkillLabelInfo { + + /** + * 技能标签code + * 如果使用技能匹配就返回技能code + * 如果使用工种匹配就返回工种ID + */ + private String skillCode; + + private String parentCode; + /** + * 工种ID + * v2有用,v1没有使用 + */ + private Long professionId; + + + /** + * 工种名称 + */ + private String professionName; + + /** + * 技能标签name + */ + private String name; + + /** + * 下级 + */ + private WorkerSkillLabelInfo child; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/common/dto/PageRequest.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/common/dto/PageRequest.java new file mode 100644 index 0000000..3f9a0eb --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/common/dto/PageRequest.java @@ -0,0 +1,48 @@ +package cn.axzo.orgmanax.infra.client.common.dto; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.Setter; + +/** + * 分页请求 + * + * @author Smile + */ +@Setter +public class PageRequest { + + /** + * 当前页 + */ + protected Integer page; + + /** + * 页大小 + */ + protected Integer pageSize; + + public Integer getPage() { + return page == null ? 1 : page; + } + + public Integer getPageSize() { + return pageSize == null ? 10 : pageSize; + } + + public Integer getOffset() { + int offset = (getPage() - 1) * getPageSize(); + return Math.max(offset, 0); + } + + public IPage toPage() { + if (this.page == null) { + page = 1; + } + if (this.pageSize == null) { + pageSize = 10; + } + return new Page<>(page, pageSize); + } + +} \ No newline at end of file diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/common/dto/PageResult.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/common/dto/PageResult.java new file mode 100644 index 0000000..573838f --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/common/dto/PageResult.java @@ -0,0 +1,66 @@ +package cn.axzo.orgmanax.infra.client.common.dto; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.Data; + +import java.util.Collections; +import java.util.List; + +/** + * 分页结果集 + * @author Smile + * @date 2019/6/29 16:13 + */ +@Data +public class PageResult { + + /** + * 总条数 + */ + private Long totalCount; + + /** + * 真实数量,去重 + */ + private Integer realCount; + + /** + * 数据 + */ + private List data; + + public PageResult() { + } + + public PageResult(List data, Long totalCount) { + this.data = data; + this.totalCount = totalCount; + } + + public static PageResult emptyResult() { + return new PageResult<>(Collections.emptyList(), 0L); + } + + public static PageResult restPage(Page pageInfo) { + PageResult result = new PageResult<>(); + result.setTotalCount(pageInfo.getTotal()); + result.setData(pageInfo.getRecords()); + return result; + } + + public static PageResult valueOfIPage(IPage pageInfo, List data) { + PageResult result = new PageResult<>(); + result.setTotalCount(pageInfo.getTotal()); + result.setData(data); + return result; + } + + public static PageResult valueOf(Long totalCount, List data) { + PageResult result = new PageResult<>(); + result.setTotalCount(totalCount); + result.setData(data); + return result; + } + +} diff --git a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloGroupTaskOrderClientImpl.java b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloGroupTaskOrderClientImpl.java index e3fe2fa..c8d652a 100644 --- a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloGroupTaskOrderClientImpl.java +++ b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloGroupTaskOrderClientImpl.java @@ -2,27 +2,42 @@ package cn.axzo.orgmanax.integration.sdk.apollo; import cn.axzo.apollo.api.ApolloGroupTaskOrderApi; import cn.axzo.apollo.api.res.CheckWorkerIsFinishGroupRes; +import cn.axzo.apollo.api.rsp.TaskOrderRsp; import cn.axzo.orgmanax.infra.client.apollo.ApolloGroupTaskOrderClient; -import cn.axzo.orgmanax.infra.client.apollo.dto.CheckProjectTeamWorkerIsFinishGroupTaskResp; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloCheckProjectTeamWorkerIsFinishGroupTaskResp; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetUnFinishGroupTaskByIdResp; import cn.axzo.orgmanax.integration.core.RpcWrapper; import cn.hutool.core.bean.BeanUtil; -import lombok.RequiredArgsConstructor; +import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; import java.util.List; -@RequiredArgsConstructor +@AllArgsConstructor @Component public class ApolloGroupTaskOrderClientImpl implements ApolloGroupTaskOrderClient { - private final ApolloGroupTaskOrderApi groupTaskOrderApi; + private ApolloGroupTaskOrderApi groupTaskOrderApi; /** * 查询项目内班组下 某一批工人是否有未完成直属小组任务单 * @return 任务单详情 */ - public List checkProjectTeamWorkerIsFinishGroupTask(Long projectTeamId, List workerIds) { + @Override + public List checkProjectTeamWorkerIsFinishGroupTask(Long projectTeamId, List workerIds) { List result = RpcWrapper.wrapApolloResult(() -> groupTaskOrderApi.checkProjectTeamWorkerIsFinishGroupTask(projectTeamId, workerIds)); - return BeanUtil.copyToList(result, CheckProjectTeamWorkerIsFinishGroupTaskResp.class); + return BeanUtil.copyToList(result, ApolloCheckProjectTeamWorkerIsFinishGroupTaskResp.class); } + + /** + * 根据直属小组id查询未完成的任务单 + * @param groupId 小组id + * @return 任务单详情 + */ + @Override + public List getUnFinishGroupTaskById(Long groupId) { + List result = RpcWrapper.wrapApolloResult(() -> groupTaskOrderApi.getUnFinishGroupTaskById(groupId)); + return BeanUtil.copyToList(result, ApolloGetUnFinishGroupTaskByIdResp.class); + } + } diff --git a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloTaskOrderClientImpl.java b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloTaskOrderClientImpl.java new file mode 100644 index 0000000..06cda31 --- /dev/null +++ b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloTaskOrderClientImpl.java @@ -0,0 +1,62 @@ +package cn.axzo.orgmanax.integration.sdk.apollo; + +import cn.axzo.apollo.api.ApolloTaskOrderApi; +import cn.axzo.apollo.api.req.QueryEffectiveProjectTaskOrderReq; +import cn.axzo.apollo.api.req.TaskOrderIncrByAfterTimeReq; +import cn.axzo.apollo.api.res.QueryEffectiveTaskOrderRes; +import cn.axzo.apollo.core.common.model.TaskProcessingDetail; +import cn.axzo.orgmanax.infra.client.apollo.ApolloTaskOrderClient; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloQueryEffectiveProjectTaskOrderReq; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetTaskProcessingDetailByAfterTimeResp; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloQueryEffectiveProjectTaskOrderResp; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetTaskProcessingDetailByAfterTimeReq; +import cn.axzo.orgmanax.infra.client.common.dto.PageResult; +import cn.axzo.orgmanax.integration.core.RpcWrapper; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 任务单相关 + * @author zhanghongbo + * @date 2024/12/10 + */ +@AllArgsConstructor +@Component +public class ApolloTaskOrderClientImpl implements ApolloTaskOrderClient { + + private ApolloTaskOrderApi apolloTaskOrderApi; + + /** + * 查询项目内生效的任务单 + * @param req + * @return + */ + @Override + public List queryEffectiveProjectTaskOrder(ApolloQueryEffectiveProjectTaskOrderReq req) { + QueryEffectiveProjectTaskOrderReq rpcReq = BeanUtil.copyProperties(req, QueryEffectiveProjectTaskOrderReq.class); + List result = RpcWrapper.wrapApolloResult(() -> apolloTaskOrderApi.getEffectiveTaskOrderByTeamCategoryAndWorkspaceIds(rpcReq)); + return BeanUtil.copyToList(result, ApolloQueryEffectiveProjectTaskOrderResp.class); + } + + /** + * 查询某个时间段 以后的任务单,供 基础那边使用, 他们定了 type 类型 2,4 还有订单的状态(完成) 全量的数据,没有区分 workspaceId \ projectId + * 查询的是 TaskOrder 表,用 TaskProcessingDetail 类去接收 + * @param req + * @return + */ + @Override + public PageResult getTaskProcessingDetailByAfterTime(ApolloGetTaskProcessingDetailByAfterTimeReq req) { + TaskOrderIncrByAfterTimeReq rpcReq = BeanUtil.copyProperties(req, TaskOrderIncrByAfterTimeReq.class); + cn.axzo.apollo.core.domain.PageResult result = RpcWrapper.wrapApolloResult(() -> apolloTaskOrderApi.getTaskProcessingDetailByAfterTime(rpcReq)); + if (result == null || ObjectUtil.isEmpty(result.getData())) { + return PageResult.emptyResult(); + } + List list = result.getData(); + List resps = BeanUtil.copyToList(list, ApolloGetTaskProcessingDetailByAfterTimeResp.class); + return new PageResult(resps, result.getTotalCount()); + } +} diff --git a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloTeamTaskOrderClientImpl.java b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloTeamTaskOrderClientImpl.java new file mode 100644 index 0000000..8653fe3 --- /dev/null +++ b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloTeamTaskOrderClientImpl.java @@ -0,0 +1,36 @@ +package cn.axzo.orgmanax.integration.sdk.apollo; + +import cn.axzo.apollo.api.ApolloTeamTaskOrderApi; +import cn.axzo.apollo.api.rsp.CheckProjectTeamTaskRsp; +import cn.axzo.orgmanax.infra.client.apollo.ApolloTeamTaskOrderClient; +import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloCheckProjectTeamTaskIsCompleteResp; +import cn.axzo.orgmanax.integration.core.RpcWrapper; +import cn.hutool.core.bean.BeanUtil; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Set; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@AllArgsConstructor +@Component +public class ApolloTeamTaskOrderClientImpl implements ApolloTeamTaskOrderClient { + + private ApolloTeamTaskOrderApi apolloTeamTaskOrderApi; + + /** + * 获取项目内班组是否有未完结任务单 + * @param workspaceId + * @param projectTeamIds + * @return + */ + @Override + public List checkProjectTeamTaskIsComplete(Long workspaceId, Set projectTeamIds) { + List result = RpcWrapper.wrapApolloResult(() -> apolloTeamTaskOrderApi.checkProjectTeamTaskIsComplete(workspaceId, projectTeamIds)); + return BeanUtil.copyToList(result, ApolloCheckProjectTeamTaskIsCompleteResp.class); + } +} diff --git a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloWorkerTaskOrderClientImpl.java b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloWorkerTaskOrderClientImpl.java new file mode 100644 index 0000000..c33ca3c --- /dev/null +++ b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloWorkerTaskOrderClientImpl.java @@ -0,0 +1,121 @@ +package cn.axzo.orgmanax.integration.sdk.apollo; + +import cn.axzo.apollo.api.ApolloWorkerTaskOrderApi; +import cn.axzo.apollo.api.req.PersonTagByCleanReq; +import cn.axzo.apollo.api.req.UnCompleteWorkerReq; +import cn.axzo.apollo.api.res.CheckWorkerIsFinishGroupRes; +import cn.axzo.apollo.api.res.UserMarkRes; +import cn.axzo.apollo.api.rsp.TaskOrderRsp; +import cn.axzo.orgmanax.infra.client.apollo.ApolloWorkerTaskOrderClient; +import cn.axzo.orgmanax.infra.client.apollo.dto.*; +import cn.axzo.orgmanax.integration.core.RpcWrapper; +import cn.hutool.core.bean.BeanUtil; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +/** + * @author zhanghongbo + * @date 2024/12/11 + */ +@AllArgsConstructor +@Component +public class ApolloWorkerTaskOrderClientImpl implements ApolloWorkerTaskOrderClient { + + private ApolloWorkerTaskOrderApi apolloWorkerTaskOrderApi; + + /** + * 通过班组id和工人id获取工人未完成的任务单数 + * @param teamId + * @param workerId + * @return + */ + @Override + public List listUnCompleteWorkerTaskOrder(Long teamId, Long workerId) { + List result = RpcWrapper.wrapApolloResult(() -> apolloWorkerTaskOrderApi.listUnCompleteWorkerTaskOrder(teamId, workerId)); + return BeanUtil.copyToList(result, ApolloTaskOrderResp.class); + } + + /** + * 通过班组id和工人id获取工人未完成的任务单数 + * @param projectId + * @param projectTeamId + * @param workerId + * @return + */ + @Override + public List listUnCompleteWorkerTaskOrderNew(Long projectId, Long projectTeamId, Long workerId) { + List result = RpcWrapper.wrapApolloResult(() -> apolloWorkerTaskOrderApi.listUnCompleteWorkerTaskOrderNew(projectId, projectTeamId, workerId)); + return BeanUtil.copyToList(result, ApolloTaskOrderResp.class); + } + + /** + * 通过班组id和工人id获取工人未完成的任务单数-批量 + * @param reqs + * @return 数量,已人作为key + */ + @Override + public Map batchUnCompleteWorker(List reqs) { + List rpcReqs = BeanUtil.copyToList(reqs, UnCompleteWorkerReq.class); + return RpcWrapper.wrapApolloResult(() -> apolloWorkerTaskOrderApi.batchUnCompleteWorkerTaskOrderByDisOrgNodeIdAndPersonId(rpcReqs)); + } + + /** + * workspaceId和工人ids查询是否有未完成任务单 + * @param workspaceId + * @param workerIds + * @return + */ + @Override + public List checkWorkerTaskIsFinish(Long workspaceId, List workerIds) { + List result = RpcWrapper.wrapApolloResult(() -> apolloWorkerTaskOrderApi.checkWorkerTaskIsFinish(workspaceId, workerIds)); + return BeanUtil.copyToList(result, ApolloCheckWorkerTaskIsFinishResp.class); + } + + /** + * 通过班组id获取班组未完成任务单数 + * @param teamId + * @return + */ + @Override + public List listUnCompleteTeamTaskOrder(Long teamId) { + List result = RpcWrapper.wrapApolloResult(() -> apolloWorkerTaskOrderApi.listUnCompleteTeamTaskOrder(teamId)); + return BeanUtil.copyToList(result, ApolloTaskOrderResp.class); + } + + /** + * 通过工人id和项目部id获取 未开始和施工中任务 + * @param workspaceId + * @param workerId + * @return + */ + @Override + public List listWorkerTaskByWorkerIdAndWorkspaceId(Long workspaceId, Long workerId) { + List result = RpcWrapper.wrapApolloResult(() -> apolloWorkerTaskOrderApi.listWorkerTaskByWorkerIdAndWorkspaceId(workspaceId, workerId)); + return BeanUtil.copyToList(result, ApolloTaskOrderResp.class); + } + + /** + * 撤销未派发工人任务单 + * @param workspaceId + * @param workerId + */ + @Override + public void cancelUnDistributeWorkerTask(Long workspaceId, Long workerId) { + RpcWrapper.wrapApolloResult(() -> apolloWorkerTaskOrderApi.cancelUnDistributeWorkerTask(workspaceId, workerId)); + } + + /** + * 获取用户标签-用于清洗 + * @param req + * @return + */ + @Override + public List getPersonTagByClean(ApolloGetPersonTagByCleanReq req) { + PersonTagByCleanReq rpcReq = BeanUtil.copyProperties(req, PersonTagByCleanReq.class); + List result = RpcWrapper.wrapApolloResult(() -> apolloWorkerTaskOrderApi.getPersonTagByClean(rpcReq)); + return BeanUtil.copyToList(result, ApolloGetPersonTagByCleanResp.class); + } +}