This commit is contained in:
ran.shang
2025-06-11 09:42:13 +08:00
commit 7e38b8d971
1935 changed files with 132836 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
package com.newyetai.recruit.company.constant;
/**
* @description:
* @author: guixinman
* @create: 2023-02-27 14:29
**/
public interface CompanyConstants {
/**
* 岗位文件类型 1:图片 2:视频
*/
String COMPANY_FILE_TYPE_IMG = "1";
String COMPANY_FILE_TYPE_VIDEO = "2";
}

View File

@@ -0,0 +1,102 @@
package com.newyetai.recruit.company.controller;
import com.newyetai.common.AlitaResult;
import com.newyetai.common.validation.Create;
import com.newyetai.common.validation.Update;
import com.newyetai.recruit.company.dto.HrCompanyDTO;
import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO;
import com.newyetai.recruit.company.entity.HrCompany;
import com.newyetai.recruit.company.service.IHrCompanyService;
import com.newyetai.tkmybatis.pojo.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 招聘系统-企业管理 前端控制器
* </p>
*
* @author chenyun
* @since 2021-01-08
*/
@Api(tags = "企业管理信息")
@RestController
@RequestMapping("/company")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class HrCompanyController {
private final IHrCompanyService companyService;
/**
* 创建
*/
@PostMapping("/create")
@ApiOperation("创建企业信息")
public AlitaResult<Void> create(@Validated(Create.class) @RequestBody HrCompanyDTO hrCompanyDTO) {
companyService.create(hrCompanyDTO);
return AlitaResult.success();
}
/**
* 修改
*/
@PutMapping("/update")
@ApiOperation("修改企业信息")
public AlitaResult<Integer> update(
@Validated(Update.class) @RequestBody HrCompanyDTO hrCompanyDTO) {
return AlitaResult.success(companyService.update(hrCompanyDTO));
}
/**
* 详情
*/
@GetMapping("/detail")
@ApiOperation("企业信息详情")
public AlitaResult<HrCompanyDTO> detail(HrCompanyDTO hrCompanyDTO) {
return AlitaResult.success(companyService.detail(hrCompanyDTO));
}
/**
* 分页查询
*/
@GetMapping("/page")
@ApiOperation("分页查询")
public AlitaResult<Page<HrCompanyDTO>> page(@Validated HrCompanyPageQueryDTO queryDTO) {
queryDTO.check();
companyService.page(queryDTO);
return AlitaResult.success(queryDTO.getPageResult());
}
/**
* 不分页查询
*/
@GetMapping("/list")
@ApiOperation("不分页查询")
public AlitaResult<List<HrCompanyDTO>> list(@Validated HrCompanyPageQueryDTO queryDTO) {
queryDTO.check();
return AlitaResult.success(companyService.list(queryDTO));
}
@GetMapping("/export")
@ApiOperation("导出")
public void export(@Validated HrCompanyPageQueryDTO queryDTO) {
queryDTO.check();
companyService.export(queryDTO);
}
@GetMapping("/{id}")
@ApiOperation("查询单个")
public AlitaResult<HrCompany> findById(@PathVariable("id") Long id) {
return AlitaResult.success(companyService.findById(id));
}
}

View File

@@ -0,0 +1,25 @@
package com.newyetai.recruit.company.dao;
import com.newyetai.recruit.company.dto.HrCompanyDTO;
import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO;
import com.newyetai.recruit.company.entity.HrCompany;
import com.newyetai.tkmybatis.mybatis.MyMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* <p>
* 招聘系统-企业信息表 Mapper 接口
* </p>
*
* @author chenyun
* @since 2021-01-08
*/
@Mapper
public interface HrCompanyMapper extends MyMapper<HrCompany> {
List<HrCompanyDTO> page(HrCompanyPageQueryDTO hrCompanyPageQueryDTO);
}

View File

@@ -0,0 +1,88 @@
package com.newyetai.recruit.company.dto;
import com.newyetai.common.dto.BaseDTO;
import com.newyetai.common.validation.Create;
import com.newyetai.common.validation.Update;
import org.hibernate.validator.constraints.Length;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.SuperBuilder;
import javax.validation.constraints.NotNull;
/**
* 人力资源公司dto
*
* @author Carlye
* @date 2021/01/08
*/
@EqualsAndHashCode(callSuper = true)
@ApiModel("招聘系统客户信息DTO")
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class HrCompanyDTO extends BaseDTO {
private static final long serialVersionUID = -2216352275325005059L;
@ApiModelProperty("机构ID")
private Long orgId;
@ApiModelProperty("统一社会信用代码")
private String creditCode;
@ApiModelProperty("企业LOGO FileRecord")
private String companyLogo;
@ApiModelProperty("名称")
@NotNull(message = "名称不能为空", groups = {Create.class, Update.class})
@Length(max = 32,message = "名称超长", groups = {Create.class, Update.class})
private String companyName;
@ApiModelProperty("机构名称")
private String orgName;
@ApiModelProperty("联系人")
@Length(max = 20,message = "联系人长度超长", groups = {Create.class, Update.class})
private String contactPerson;
@Length(max = 50,message = "联系方式长度超长", groups = {Create.class, Update.class})
@ApiModelProperty("联系方式")
private String contactWay;
@Length(max = 100,message = "企业简介长度超长", groups = {Create.class, Update.class})
@ApiModelProperty("公司简介")
private String companyProfile;
@ApiModelProperty("公司描述")
private String companyDescription;
@ApiModelProperty("行业 (数据字典)")
private String companyIndustry;
@ApiModelProperty("规模 (数据字典)")
private String companySize;
@ApiModelProperty("公司注册地址")
@Length(max = 32,message = "企业地址长度超长", groups = {Create.class, Update.class})
private String companyRegisterAddress;
@ApiModelProperty("省份 (数据字典)")
private Integer province;
@ApiModelProperty("市 (数据字典)")
private Integer city;
@ApiModelProperty("区 (数据字典)")
private Integer district;
/**
* 类型(数据字典 1.客户 2.供应商)
*/
@NotNull(message = "类型不能为空", groups = {Create.class, Update.class})
private String companyType;
}

View File

@@ -0,0 +1,54 @@
package com.newyetai.recruit.company.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description:
* @author: guixinman
* @create: 2024-04-11 15:03
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HrCompanyExportDTO implements Serializable {
@ExcelProperty("名称")
@ApiModelProperty("名称")
private String companyName;
@ExcelProperty("行业")
@ApiModelProperty("行业 (数据字典)")
private String companyIndustry;
@ExcelProperty("规模")
@ApiModelProperty("规模 (数据字典)")
private String companySize;
@ExcelProperty("联系人")
@ApiModelProperty("联系人")
private String contactPerson;
@ExcelProperty("联系方式")
@ApiModelProperty("联系方式")
private String contactWay;
@ExcelProperty("公司简介")
@ApiModelProperty("公司简介")
private String companyProfile;
@ExcelProperty("公司描述")
@ApiModelProperty("公司描述")
private String companyDescription;
@ExcelProperty("创建时间")
private String createTime;
}

View File

@@ -0,0 +1,113 @@
package com.newyetai.recruit.company.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.newyetai.common.dto.PageQueryDTO;
import com.newyetai.common.exception.BusinessException;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.format.annotation.DateTimeFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
/**
* 人力资源公司dto
*
* @author Carlye
* @date 2021/01/08
*/
@EqualsAndHashCode(callSuper = true)
@ApiModel("招聘系统客户信息DTO")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HrCompanyPageQueryDTO extends PageQueryDTO<HrCompanyDTO> {
private static final long serialVersionUID = -2216352275325005059L;
private Long id;
@ApiModelProperty("机构ID")
private Long orgId;
@ApiModelProperty("统一社会信用代码")
private String creditCode;
@ApiModelProperty("企业LOGO FileRecord")
private String companyLogo;
@ApiModelProperty("公司名称")
private String companyName;
@ApiModelProperty("联系人")
private String contactPerson;
@ApiModelProperty("联系方式")
private String contactWay;
@ApiModelProperty("公司简介")
private String companyProfile;
@ApiModelProperty("公司描述")
private String companyDescription;
@ApiModelProperty("行业 (数据字典)")
private String companyIndustry;
@ApiModelProperty("规模 (数据字典)")
private String companySize;
@ApiModelProperty("公司注册地址")
private String companyRegisterAddress;
@ApiModelProperty("省份 (数据字典)")
private Integer province;
@ApiModelProperty("市 (数据字典)")
private Integer city;
@ApiModelProperty("区 (数据字典)")
private Integer district;
/**
* 类型(数据字典 1.客户 2.供应商)
*/
private String companyType;
private List<String> companyTypes;
@ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTimeStart;
@ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTimeEnd;
public void check(){
if (StringUtils.isBlank(companyType) && CollectionUtils.isEmpty(companyTypes)) {
throw new BusinessException("请选择类型");
}
}
}

View File

@@ -0,0 +1,102 @@
package com.newyetai.recruit.company.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.newyetai.common.entity.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* 招聘系统-企业信息表
* </p>
*
* @author chenyun
* @since 2021-01-08
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "hr_company")
@Builder
public class HrCompany extends BaseEntity {
private static final long serialVersionUID = -7847448702358215622L;
/**
* 机构ID
*/
private Long orgId;
/**
* 统一社会信用代码
*/
private String creditCode;
/**
* 企业LOGO FileRecord
*/
private String companyLogo;
/**
* 公司名称
*/
private String companyName;
/**
* 联系人(负责人)
*/
private String contactPerson;
/**
* 联系方式
*/
private String contactWay;
/**
* 公司简介
*/
private String companyProfile;
/**
* 公司描述
*/
private String companyDescription;
/**
* 行业 (数据字典)
*/
private String companyIndustry;
/**
* 规模 (数据字典)
*/
private String companySize;
/**
* 公司注册地址
*/
private String companyRegisterAddress;
/**
* 省份 (数据字典)
*/
private Integer province;
/**
* 市 (数据字典)
*/
private Integer city;
/**
* 区 (数据字典)
*/
private Integer district;
/**
* 类型(数据字典 1.客户 2.供应商)
*/
private String companyType;
}

View File

@@ -0,0 +1,28 @@
package com.newyetai.recruit.company.enums;
public enum HrCompanyEnum {
KH("1","客户"),
GYS("2","供应商"),
SELF("3", "机构本身"),
;
private String type;
/**
* 类型描述
*/
private String desc;
HrCompanyEnum(String type, String desc) {
this.type = type;
this.desc = desc;
}
public String getType() {
return type;
}
public String getDesc() {
return desc;
}
}

View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.newyetai.recruit.company.dao.HrCompanyMapper">
<sql id="orgRelationTail">
(select org_id
from uc_org_relation
where deleted = 0
and platform_code = 13
<if test='parentOrgId != null'>
and FIND_IN_SET(#{parentOrgId}, path)
</if>
<if test='orgId != null'>
and FIND_IN_SET(#{orgId}, path)
</if>
)
</sql>
<select id="page" resultType="com.newyetai.recruit.company.dto.HrCompanyDTO">
select hc.*,o.org_name
from hr_company hc
left join xs_org o on o.id = hc.org_id and o.deleted = 0
where hc.deleted = 0
<if test='id != null'>
AND hc.id = #{id}
</if>
<if test='orgId != null'>
AND hc.org_id = #{orgId}
</if>
<if test='companyName != null and companyName.trim() != ""'>
<bind name="companyNameLike" value="'%' + companyName + '%'"/>
AND hc.company_name like #{companyNameLike}
</if>
<if test='companySize != null and companySize.trim() != ""'>
AND hc.company_size = #{companySize}
</if>
<if test='contactPerson != null and contactPerson.trim() != ""'>
AND hc.contact_person = #{contactPerson}
</if>
<if test='companyIndustry != null and companyIndustry.trim() != ""'>
AND hc.company_industry = #{companyIndustry}
</if>
<if test='createTimeStart != null'>
AND hc.create_time &gt;= #{createTimeStart}
</if>
<if test='createTimeEnd != null'>
AND hc.create_time &lt;= #{createTimeEnd}
</if>
<if test='companyType != null and companyType.trim() != ""'>
AND hc.company_type = #{companyType}
</if>
<if test="companyTypes != null and companyTypes.size()>0">
AND hc.company_type in
<foreach collection="companyTypes" open="(" separator="," close=")" item="item">
#{item}
</foreach>
</if>
order by hc.company_type desc, hc.id desc
</select>
</mapper>

View File

@@ -0,0 +1,23 @@
package com.newyetai.recruit.company.mapstruct;
import com.newyetai.recruit.company.dto.HrCompanyDTO;
import com.newyetai.recruit.company.entity.HrCompany;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* dto-entity
*
* @author sr on 2019-12-17
*/
@Mapper
public interface HrCompanyMapMapper {
HrCompanyMapMapper INSTANCE = Mappers.getMapper(HrCompanyMapMapper.class);
HrCompanyDTO exchange(HrCompany company);
HrCompany exchange(HrCompanyDTO hrCompanyDTO);
}

View File

@@ -0,0 +1,64 @@
package com.newyetai.recruit.company.service;
import com.newyetai.recruit.company.dto.HrCompanyDTO;
import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO;
import com.newyetai.recruit.company.entity.HrCompany;
import java.util.List;
/**
* <p>
* 招聘系统-客户信息表 服务类
* </p>
*
* @author chenyun
* @since 2021-01-08
*/
public interface IHrCompanyService {
/**
* 创建
*
* @param hrCompanyDTO 人力资源公司dto
* @return {@link HrCompanyDTO}
* @throws RuntimeException 运行时异常
*/
void create(HrCompanyDTO hrCompanyDTO);
/**
* 更新
*
* @param hrCompanyDTO 人力资源公司dto
* @return {@link HrCompanyDTO}
* @throws RuntimeException 运行时异常
*/
Integer update(HrCompanyDTO hrCompanyDTO);
/**
* 细节
*
* @param hrCompanyDTO 人力资源公司dto
* @return {@link HrCompanyDTO}
*/
HrCompanyDTO detail(HrCompanyDTO hrCompanyDTO);
/**
* 分页查询
*
* @param pageQueryDTO 页面查询dto
* @return {@link List< HrCompanyDTO >}
*/
List<HrCompanyDTO> page(HrCompanyPageQueryDTO pageQueryDTO);
void export(HrCompanyPageQueryDTO pageQueryDTO);
/**
* 不分页查询
*/
List<HrCompanyDTO> list(HrCompanyPageQueryDTO pageQueryDTO);
HrCompany findById(Long id);
HrCompanyDTO find(HrCompanyPageQueryDTO pageQueryDTO);
}

View File

@@ -0,0 +1,226 @@
package com.newyetai.recruit.company.service.impl;
import com.google.common.collect.Lists;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.newyetai.common.constant.CommonConstants;
import com.newyetai.common.dto.ExportHeadDetailInfoDTO;
import com.newyetai.common.dto.ExportHeadInfoDTO;
import com.newyetai.common.easyexcel.ExcelUtil;
import com.newyetai.common.exception.BusinessException;
import com.newyetai.common.exception.util.Assert;
import com.newyetai.common.util.UserContextHolder;
import com.newyetai.recruit.company.dao.HrCompanyMapper;
import com.newyetai.recruit.company.dto.HrCompanyDTO;
import com.newyetai.recruit.company.dto.HrCompanyExportDTO;
import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO;
import com.newyetai.recruit.company.entity.HrCompany;
import com.newyetai.recruit.company.enums.HrCompanyEnum;
import com.newyetai.recruit.company.mapstruct.HrCompanyMapMapper;
import com.newyetai.recruit.company.service.IHrCompanyService;
import com.newyetai.component.dict.util.DictUtils;
import cn.hutool.core.date.DateUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 招聘系统-企业信息表 服务实现类
*/
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class HrCompanyServiceImpl implements IHrCompanyService {
private final HrCompanyMapper hrCompanyMapper;
@Override
public void create(HrCompanyDTO hrCompanyDTO) {
List<HrCompany> HrCompanyList = hrCompanyMapper.selectList(new LambdaQueryWrapper<HrCompany>()
.eq(HrCompany::getOrgId, UserContextHolder.getLoginOrgId())
.eq(HrCompany::getCompanyName, hrCompanyDTO.getCompanyName())
.eq(HrCompany::getCompanyType, hrCompanyDTO.getCompanyType())
.eq(HrCompany::getDeleted, false)
);
if (CollectionUtils.isNotEmpty(HrCompanyList)) {
throw new BusinessException("名称重复");
}
HrCompany HrCompany = HrCompanyMapMapper.INSTANCE.exchange(hrCompanyDTO);
HrCompany.setOrgId(UserContextHolder.getLoginOrgId());
hrCompanyMapper.saveEntity(HrCompany, UserContextHolder.getLoginUserId());
}
@Override
public Integer update(HrCompanyDTO hrCompanyDTO) {
HrCompany hrCompany = hrCompanyMapper.selectOne(new LambdaQueryWrapper<HrCompany>()
.eq(HrCompany::getId, hrCompanyDTO.getId())
.eq(HrCompany::getDeleted, false));
Assert.notNull(hrCompany, "未查询到要修改的数据");
if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) {
Assert.isTrue(hrCompany.getOrgId().equals(UserContextHolder.getExistLoginOrgId()), "未查询到要修改的数据");
}
List<HrCompany> HrCompanyList = hrCompanyMapper.selectList(new LambdaQueryWrapper<HrCompany>()
.eq(HrCompany::getOrgId, hrCompany.getOrgId())
.eq(HrCompany::getCompanyName, hrCompanyDTO.getCompanyName())
.eq(HrCompany::getCompanyType, hrCompanyDTO.getCompanyType())
.notIn(HrCompany::getId, hrCompanyDTO.getId())
.eq(HrCompany::getDeleted, false)
);
if (CollectionUtils.isNotEmpty(HrCompanyList)) {
throw new BusinessException("名称重复");
}
HrCompany HrCompany = HrCompanyMapMapper.INSTANCE.exchange(hrCompanyDTO);
HrCompany.setOrgId(hrCompany.getOrgId());
return hrCompanyMapper.updateEntity(HrCompany, UserContextHolder.getLoginUserId());
}
@Override
public HrCompanyDTO detail(HrCompanyDTO hrCompanyDTO) {
return HrCompanyMapMapper.INSTANCE.exchange(hrCompanyMapper.getById(hrCompanyDTO.getId()));
}
@Override
public List<HrCompanyDTO> page(HrCompanyPageQueryDTO pageQueryDTO) {
if (pageQueryDTO.getOrgId() == null) {
if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) {
pageQueryDTO.setOrgId(UserContextHolder.getLoginOrgId());
}
}
return hrCompanyMapper.page(pageQueryDTO);
}
@Override
public void export(HrCompanyPageQueryDTO pageQueryDTO) {
boolean flag = true;
Integer pageNo = 1;
Integer pageSize = 100;
List<HrCompanyDTO> listAll = new ArrayList<>();
while (flag) {
pageQueryDTO.setPageNo(pageNo);
pageQueryDTO.setPageSize(pageSize);
List<HrCompanyDTO> list = this.page(pageQueryDTO);
if (org.springframework.util.CollectionUtils.isEmpty(list)) {
flag = false;
continue;
}
if (list.size() < pageSize) {
flag = false;
}
pageNo = pageNo + 1;
listAll.addAll(list);
}
List<HrCompanyExportDTO> collect = listAll.stream().map(dto -> {
HrCompanyExportDTO companyExportDTO = new HrCompanyExportDTO();
BeanUtils.copyProperties(dto, companyExportDTO);
companyExportDTO.setCreateTime(DateUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
companyExportDTO.setCompanyIndustry(DictUtils.getCodeNameMap("industry_type").get(dto.getCompanyIndustry()));
companyExportDTO.setCompanySize(DictUtils.getCodeNameMap("company_size").get(dto.getCompanySize()));
return companyExportDTO;
}).collect(Collectors.toList());
if (org.springframework.util.CollectionUtils.isEmpty(collect)) {
return;
}
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
String fileName;
if (pageQueryDTO.getCompanyType().equals(HrCompanyEnum.KH.getType())) {
fileName = HrCompanyEnum.KH.getDesc() + "明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")";
} else {
fileName = HrCompanyEnum.GYS.getDesc() + "明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")";
}
ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder()
.fileName(fileName)
.build();
List<ExportHeadDetailInfoDTO> heads = infoDTO.getHeads();
List<List> datas = Lists.newArrayList();
if (pageQueryDTO.getCompanyType().equals(HrCompanyEnum.KH.getType())) {
heads.add(ExportHeadDetailInfoDTO.builder().head("客户名称").build());
heads.add(ExportHeadDetailInfoDTO.builder().head("所属行业").build());
heads.add(ExportHeadDetailInfoDTO.builder().head("企业规模").build());
heads.add(ExportHeadDetailInfoDTO.builder().head("联系人").build());
heads.add(ExportHeadDetailInfoDTO.builder().head("联系方式").build());
heads.add(ExportHeadDetailInfoDTO.builder().head("创建时间").build());
for (HrCompanyExportDTO dto : collect) {
List objects = Lists.newArrayList();
datas.add(objects);
objects.add(dto.getCompanyName());
objects.add(dto.getCompanyIndustry());
objects.add(dto.getCompanySize());
objects.add(dto.getContactPerson());
objects.add(dto.getContactWay());
objects.add(dto.getCreateTime());
}
} else {
heads.add(ExportHeadDetailInfoDTO.builder().head("供应商名称").build());
heads.add(ExportHeadDetailInfoDTO.builder().head("企业规模").build());
heads.add(ExportHeadDetailInfoDTO.builder().head("联系人").build());
heads.add(ExportHeadDetailInfoDTO.builder().head("联系方式").build());
heads.add(ExportHeadDetailInfoDTO.builder().head("创建时间").build());
for (HrCompanyExportDTO dto : collect) {
List objects = Lists.newArrayList();
datas.add(objects);
objects.add(dto.getCompanyName());
objects.add(dto.getCompanySize());
objects.add(dto.getContactPerson());
objects.add(dto.getContactWay());
objects.add(dto.getCreateTime());
}
}
infoDTO.setDatas(datas);
ExcelUtil.dynamicExportTemplate(infoDTO);
}
@Override
public List<HrCompanyDTO> list(HrCompanyPageQueryDTO pageQueryDTO) {
pageQueryDTO.disablePage();
return this.page(pageQueryDTO);
}
@Override
public HrCompany findById(Long id) {
Assert.notNull(id, "id不能为空");
LambdaQueryWrapper<HrCompany> queryWrapper = new LambdaQueryWrapper<HrCompany>()
.eq(HrCompany::getId, id)
.eq(HrCompany::getDeleted, false);
if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) {
queryWrapper.eq(HrCompany::getOrgId, UserContextHolder.getLoginOrgId());
}
HrCompany hrCompany = hrCompanyMapper.selectOne(queryWrapper);
return hrCompany;
}
@Override
public HrCompanyDTO find(HrCompanyPageQueryDTO pageQueryDTO) {
pageQueryDTO.disablePage();
List<HrCompanyDTO> hrCompanyDTOS = this.page(pageQueryDTO);
if (CollectionUtils.isEmpty(hrCompanyDTOS)) {
return null;
}
return hrCompanyDTOS.get(0);
}
}