feat(REQ-3488): 删除org_project_team表

This commit is contained in:
zhanghonghao 2025-01-02 17:00:17 +08:00
parent 0ea671f661
commit e4d0ab0060
6 changed files with 17 additions and 319 deletions

View File

@ -1,15 +0,0 @@
package cn.axzo.orgmanax.infra.dao.project.team.dao;
import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeam;
import cn.axzo.orgmanax.infra.dao.project.team.mapper.OrgProjectTeamMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Repository;
/**
* @author : zhanghonghao@axzo.cn
* @since : 2024/12/30
*/
@Repository
public class OrgProjectTeamDao extends ServiceImpl<OrgProjectTeamMapper, OrgProjectTeam> {
}

View File

@ -1,125 +0,0 @@
package cn.axzo.orgmanax.infra.dao.project.team.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;
import java.io.Serializable;
import java.util.Date;
/**
* 项目内班组
*
* @since 2022-07-12
*/
@TableName(value = "org_project_team", autoResultMap = true)
@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
public class OrgProjectTeam implements Serializable {
/**
* 主键
*/
@TableId(
type = IdType.AUTO
)
private Long id;
/**
* 工作台ID
*/
private Long workspaceId;
/**
* 总包ID
*/
private Long entId;
/**
* 所属单位ID
*/
private Long organizationalUnitId;
/**
* 所属单位类型: 1:总包 4:专业分包 5:劳务分包
*/
private Integer organizationalUnitType;
/**
* 项目内班组组织节点ID
*/
private Long organizationalNodeId;
/**
* 项目外班组id
*/
private Long platTeamId;
/**
* 班组长身份id
*/
private Long teamLeaderId;
/**
* 状态1-履约中 2-已退场 3-待履约
*/
private Integer status;
/**
* 班组进场时间
*/
private Date joinAt;
/**
* 班组退场时间
*/
private Date resignAt;
/**
* 工期要求开始时间
*/
private Date beginDate;
/**
* 工期要求结束时间
*/
private Date endDate;
/**
* 班组入驻编号(前端展示)
*/
private String settledCode;
/**
* 工人进场方式 1-普通进场 2-任务单进场
*/
private Integer enterProjectType = 1;
private Integer syncState;
/**
* 是否删除 0否,其他是
*/
private Long isDelete = 0L;
/**
* 创建时间
*/
private Date createAt;
/**
* 更新时间
*/
private Date updateAt;
}

View File

@ -1,10 +0,0 @@
package cn.axzo.orgmanax.infra.dao.project.team.mapper;
import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OrgProjectTeamMapper extends BaseMapper<OrgProjectTeam> {
}

View File

@ -1,119 +0,0 @@
package cn.axzo.orgmanax.infra.dao.project.team.repository;
import cn.axzo.foundation.dao.support.wrapper.CriteriaField;
import cn.axzo.foundation.dao.support.wrapper.Operator;
import cn.axzo.foundation.page.IPageReq;
import cn.axzo.foundation.page.PageReqV2;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeam;
import cn.hutool.core.bean.BeanUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
import java.util.Optional;
import java.util.Set;
public interface OrgProjectTeamQueryRepository {
PageResp<OrgProjectTeamResp> page(ListReq paramReq);
default List<OrgProjectTeamResp> list(ListReq req) {
PageReq pageReq = BeanUtil.toBean(req, PageReq.class);
pageReq.setPage(1);
pageReq.setPageSize(1000);
return page(pageReq).getData();
}
default OrgProjectTeamResp one(OneReq req) {
return oneOpt(req).orElse(null);
}
default Optional<OrgProjectTeamResp> oneOpt(OneReq req) {
req.check();
PageReq page = BeanUtil.toBean(req, PageReq.class);
page.setPage(1);
page.setPageSize(1);
return page(page).getData().stream().findFirst();
}
@NoArgsConstructor
@AllArgsConstructor
@Data
@SuperBuilder
class OneReq {
/**
* id
*/
private Long id;
/**
* id集合
*/
private Set<Long> ids;
public void check() {
}
}
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Data
@SuperBuilder
class ListReq extends PageReqV2 {
@CriteriaField
private Long id;
@CriteriaField(field = "id", operator = Operator.IN)
private Set<Long> ids;
@CriteriaField(field = "status", operator = Operator.IN)
private Set<Integer> statusList;
@CriteriaField
private Long teamLeaderId;
@CriteriaField(field = "teamLeaderId", operator = Operator.IN)
private Set<Long> teamLeaderIds;
@CriteriaField
private Long platTeamId;
@CriteriaField(field = "platTeamId", operator = Operator.IN)
private Set<Long> platTeamIds;
@CriteriaField
private Long workspaceId;
@CriteriaField(field = "workspaceId", operator = Operator.IN)
private Set<Long> workspaceIds;
@CriteriaField
private Long organizationalNodeId;
@CriteriaField(field = "organizationalNodeId", operator = Operator.IN)
private Set<Long> organizationalNodeIdList;
@CriteriaField(ignore = true)
private Boolean includeDeleted;
}
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Data
@SuperBuilder
class PageReq extends ListReq implements IPageReq {
@CriteriaField(ignore = true)
Integer page;
@CriteriaField(ignore = true)
Integer pageSize;
@CriteriaField(ignore = true)
List<String> sort;
}
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Data
@SuperBuilder
class OrgProjectTeamResp extends OrgProjectTeam {
// 按需扩展字段占个位避免报错
private String todo;
}
}

View File

@ -1,45 +0,0 @@
package cn.axzo.orgmanax.infra.dao.project.team.repository.impl;
import cn.axzo.foundation.dao.support.converter.PageConverter;
import cn.axzo.foundation.dao.support.mysql.QueryWrapperHelper;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.infra.dao.project.team.dao.OrgProjectTeamDao;
import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeam;
import cn.axzo.orgmanax.infra.dao.project.team.repository.OrgProjectTeamQueryRepository;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.BooleanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author : zhanghonghao@axzo.cn
* @since : 2024/12/30
*/
@Service
@RequiredArgsConstructor
@Slf4j
public class OrgProjectTeamQueryRepositoryImpl implements OrgProjectTeamQueryRepository {
private final OrgProjectTeamDao orgProjectTeamDao;
@Override
public PageResp<OrgProjectTeamResp> page(ListReq req) {
IPage<OrgProjectTeam> page = PageConverter.toMybatis(req, OrgProjectTeam.class);
QueryWrapper<OrgProjectTeam> wrapper = QueryWrapperHelper.fromBean(req, OrgProjectTeam.class);
if (!BooleanUtil.isTrue(req.getIncludeDeleted())) {
wrapper.eq("is_delete", 0);
}
IPage<OrgProjectTeamQueryRepository.OrgProjectTeamResp> results = orgProjectTeamDao.page(page, wrapper).convert(e -> BeanUtil.toBean(e, OrgProjectTeamQueryRepository.OrgProjectTeamResp.class));
PageResp<OrgProjectTeamQueryRepository.OrgProjectTeamResp> resp = PageConverter.toResp(results);
List<OrgProjectTeamQueryRepository.OrgProjectTeamResp> records = resp.getData();
CollUtil.isEmpty(records);
return resp;
}
}

View File

@ -1,15 +1,20 @@
package cn.axzo.orgmanax.server.project.team.service.impl;
import cn.axzo.orgmanax.dto.node.dto.OrgNodeDTO;
import cn.axzo.orgmanax.dto.node.enums.NodeTypeEnum;
import cn.axzo.orgmanax.dto.node.req.ListNodeReq;
import cn.axzo.orgmanax.dto.project.team.dto.OrgProjectTeamDTO;
import cn.axzo.orgmanax.dto.project.team.req.ListProjectTeamReq;
import cn.axzo.orgmanax.infra.dao.project.team.repository.OrgProjectTeamQueryRepository;
import cn.axzo.orgmanax.server.node.service.NodeService;
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamService;
import cn.hutool.core.bean.BeanUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* @author : zhanghonghao@axzo.cn
@ -20,13 +25,20 @@ import java.util.List;
@Service
public class ProjectTeamServiceImpl implements ProjectTeamService {
private final OrgProjectTeamQueryRepository orgProjectTeamQueryRepository;
private final NodeService nodeService;
@Override
public List<OrgProjectTeamDTO> list(ListProjectTeamReq req) {
OrgProjectTeamQueryRepository.ListReq listReq = BeanUtil.copyProperties(req, OrgProjectTeamQueryRepository.ListReq.class);
List<OrgProjectTeamQueryRepository.OrgProjectTeamResp> projectTeamResps = orgProjectTeamQueryRepository.list(listReq);
return BeanUtil.copyToList(projectTeamResps, OrgProjectTeamDTO.class);
//todo @周敏 这里需要桥接原org_project_team表
Set<Integer> includeOrgNodeTypes = new HashSet<>();
includeOrgNodeTypes.add(NodeTypeEnum.PROJECT_TEAM.getCode());
ListNodeReq nodeReq = ListNodeReq.builder()
.includeOrgNodeTypes(includeOrgNodeTypes)
.ids(req.getOrganizationalNodeIdList())
.workspaceIds(req.getWorkspaceIds())
.build();
List<OrgNodeDTO> orgNodeDTOS = nodeService.list(nodeReq);
return BeanUtil.copyToList(orgNodeDTOS, OrgProjectTeamDTO.class);
}
}