Commit 21cd78b2 authored by Rensq's avatar Rensq

添加获取当前机构承包商用户树接口

parent c1f9e171
......@@ -9,12 +9,11 @@ import java.util.stream.Collectors;
import cn.hutool.core.util.IdcardUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.testor.biz.sys.dict.data.model.domain.SysDictData;
import com.testor.biz.sys.user.model.domain.SysUser;
import com.testor.common.excel.ExcelResult;
import com.testor.common.util.BeanConverUtil;
import com.testor.common.util.excel.EasyExcelUtil;
import com.testor.module.contractor.ledger.model.domain.TContractorInfo;
import com.testor.module.contractor.ledger.model.domain.TContractorPersonCertificate;
import com.testor.module.contractor.ledger.model.domain.TContractorProject;
import com.testor.module.contractor.ledger.model.domain.*;
import com.testor.module.contractor.ledger.model.dto.TContractorPersonDto;
import com.testor.module.contractor.ledger.model.dto.TContractorProjectParam;
import com.testor.module.contractor.ledger.model.template.PersonTemplate;
......@@ -22,6 +21,7 @@ import com.testor.module.contractor.ledger.model.template.ProjectTemplate;
import com.testor.module.contractor.ledger.service.TContractorInfoService;
import com.testor.module.contractor.ledger.service.TContractorPersonCertificateService;
import com.testor.module.sys.model.domian.NewSysOrg;
import com.testor.module.sys.model.dto.NewTreeVo;
import com.testor.module.sys.service.NewSysDictDataService;
import com.testor.module.sys.service.NewSysOrgService;
import com.tongtech.tfw.backend.common.context.ContextUtils;
......@@ -29,6 +29,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.extern.slf4j.Slf4j;
import com.tongtech.tfw.backend.core.helper.StringHelper;
......@@ -45,7 +46,6 @@ import com.tongtech.tfw.backend.core.helper.IdHelper;
import com.tongtech.tfw.backend.core.helper.TypeHelper;
import com.tongtech.tfw.backend.core.helper.bean.BeanHelper;
import com.testor.module.contractor.ledger.model.domain.TContractorPerson;
import com.testor.module.contractor.ledger.model.dto.TContractorPersonParam;
import com.testor.module.contractor.ledger.model.dto.TContractorPersonDelParam;
import com.testor.module.contractor.ledger.service.TContractorPersonService;
......@@ -243,6 +243,13 @@ public class TContractorPersonController extends SuperController
return baseResponse;
}
/* Private Methods */
@ApiOperation("获取用户树")
public BaseResponse<NewTreeVo> getTreeUser(String orgId){
BaseResponse<NewTreeVo> baseResponse = new BaseResponse<>();
NewTreeVo newTreeVo = tContractorPersonService.getTreeUser(orgId);
baseResponse.setData(newTreeVo);
return baseResponse;
}
}
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.testor.module.contractor.ledger.model.domain.TContractorPerson;
import com.testor.module.contractor.ledger.model.dto.TContractorPersonDto;
import com.testor.module.contractor.ledger.model.dto.TContractorPersonParam;
import com.testor.module.sys.model.dto.NewTreeVo;
import com.tongtech.tfw.backend.common.models.supers.SuperService;
import org.springframework.web.multipart.MultipartFile;
......@@ -50,4 +51,7 @@ public interface TContractorPersonService extends SuperService<TContractorPerson
List<TContractorPerson> listAllEntity(TContractorPersonParam param);
List<TContractorPerson> ValidPeopleList(TContractorPersonParam param);
NewTreeVo getTreeUser(String orgId);
}
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.testor.biz.sys.dict.data.model.domain.SysDictData;
import com.testor.biz.sys.dict.data.service.SysDictDataService;
import com.testor.biz.sys.user.model.domain.SysUser;
import com.testor.common.constant.StatusEnum;
import com.testor.common.core.utils.StringUtils;
import com.testor.common.excel.ExcelResult;
......@@ -29,6 +30,7 @@ import com.testor.module.contractor.ledger.service.TContractorLedgerService;
import com.testor.module.contractor.ledger.service.TContractorPersonCertificateService;
import com.testor.module.contractor.ledger.service.TContractorPersonService;
import com.testor.module.sys.model.domian.NewSysOrg;
import com.testor.module.sys.model.dto.NewTreeVo;
import com.testor.module.sys.service.NewSysDictDataService;
import com.testor.module.sys.service.NewSysOrgService;
import com.tongtech.tfw.backend.common.biz.constants.BizConstants;
......@@ -231,6 +233,55 @@ public class TContractorPersonServiceImpl extends SuperServiceImpl<TContractorPe
}).collect(Collectors.toList());
}
@Override
public NewTreeVo getTreeUser(String orgId) {
NewTreeVo newTreeVo = new NewTreeVo(); // 创建树的根节点
newTreeVo.setOrgName("相关方"); // 设置根节点名称为“相关方”
if (StringHelper.isBlank(orgId)) {
orgId = ContextUtils.getLoginUser().getOrgId(); // 获取当前登录用户的组织ID
}
// 获取当前组织的所有承包商台账信息
List<Object> infoIds = tContractorLedgerService.listObjs(new QueryWrapper<TContractorLedger>().select(TContractorLedger.INFO_ID).eq(TContractorLedger.ORG_ID, orgId).groupBy(TContractorLedger.INFO_ID));
List<NewTreeVo> children = new ArrayList<>(); // 创建一个空的子节点列表
// 遍历每个承包商台账
for (Object infoId : infoIds) {
NewTreeVo childNewTreeVo = new NewTreeVo(); // 为每个承包商创建一个新的子节点
String infoIdStr = infoId.toString(); // 获取承包商的infoId
TContractorInfo tContractorInfo = tContractorInfoService.getById(infoIdStr); // 获取承包商的详细信息
if (tContractorInfo != null) {
childNewTreeVo.setOrgName(tContractorInfo.getName()); // 设置子节点名称为承包商的名称
}
childNewTreeVo.setOrgId(infoIdStr); // 设置子节点的orgId为承包商台账的ID
TContractorPersonParam tContractorPersonParam = new TContractorPersonParam();
tContractorPersonParam.setInfoId(infoIdStr); // 设置参数,查询该承包商的人员信息
// 获取承包商的有效人员
List<TContractorPerson> tContractorPeoples = listAllEntity(tContractorPersonParam);
List<SysUser> users = new ArrayList<>(); // 创建一个空的用户列表
if (tContractorPeoples != null && !tContractorPeoples.isEmpty()) {
// 遍历每个有效人员,转换为SysUser对象
for (TContractorPerson tContractorPeople : tContractorPeoples) {
SysUser sysUser = new SysUser();
sysUser.setUserId(tContractorPeople.getId()); // 设置用户ID
sysUser.setUserName(tContractorPeople.getName()); // 设置用户姓名
sysUser.setUserType("1");
users.add(sysUser); // 将用户添加到用户列表
}
}
childNewTreeVo.setUsers(users); // 将用户列表添加到子节点
children.add(childNewTreeVo); // 将当前承包商子节点添加到父节点的children列表中
}
// 设置根节点的子节点为所有承包商子节点
newTreeVo.setChildren(children);
// 返回构建好的树形结构
return newTreeVo;
}
/**
* 校验身份证号码的合法性及唯一性
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment