feat(REQ-3448): 增加资质的实现

This commit is contained in:
zhanghonghao 2024-12-26 11:29:34 +08:00
parent d297589892
commit 16c7f0d77c
6 changed files with 190 additions and 0 deletions

View File

@ -1,8 +1,13 @@
package cn.axzo.orgmanax.api.unit.feign;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.foundation.result.ApiResult;
import cn.axzo.orgmanax.dto.unit.qualification.dto.OrgQualificationDTO;
import cn.axzo.orgmanax.dto.unit.qualification.req.ListQualificationReq;
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 org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -23,4 +28,10 @@ public interface OrgUnitQualificationApi {
@PostMapping("api/org/qualification/types")
ApiResult<List<Integer>> getQualificationTypesByUnitId(@RequestParam("unitId") Long unitId);
/**
* 分页列表接口
* XXX本接口默认分页单页最多返回1000条数据调用方使用时需注意
*/
@PostMapping("/api/org/qualification/list")
ApiResult<PageResp<OrgQualificationDTO>> list(@RequestBody @Validated ListQualificationReq req);
}

View File

@ -0,0 +1,95 @@
package cn.axzo.orgmanax.dto.unit.qualification.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.io.Serializable;
import java.util.Date;
/**
* @author : zhanghonghao@axzo.cn
* @since : 2024/12/26
*/
@NoArgsConstructor
@SuperBuilder
@Data
@AllArgsConstructor
public class OrgQualificationDTO implements Serializable {
private Long id;
/**
* 单位id
*/
private Long ouId;
/**
* 企业名称(冗余查询用)
*/
private String ouName;
/**
* 证书编号
*/
private String number;
/**
* 证书名称
* 建筑业企业资质证书
* 房地产开发企业资质证书
* 工程监理资质证书
* 自定义
*/
private String name;
/**
* 资质认证到期时间
*/
private Date endTime;
/**
* 资质文件名称
*/
private String fileName;
/**
* 资质文件url
*/
private String fileUrl;
private Date createAt;
private Date updateAt;
/**
* 资质序列 1:施工总承包 2:建设单位 3:监理单位 4:劳务分包 5:专业承包 30:其他
* 建筑业企业资质证书--施工总承包专业承包劳务分包
* 房地产开发企业资质证书--建设单位
* 工程监理资质证书--监理单位
* 其他 -- 自定义
*/
private Integer type;
/**
* 资质类别(纯手录)
* REQ-1806
*/
private String category;
/**
* 资质等级
* a. 房地产开发企业资质证书壹级贰级叁级肆级
* b. 建筑业企业资质证书特级壹级贰级叁级不分
* c. 工程监理资质证书甲级乙级丙级
* REQ-1806
*/
private String categoryLevel;
/**
* 证书名称类型: 1:建筑业企业资质证书 2:房地产开发企业资质证书 3:工程监理资质证书 20:其他
*/
private Integer qualificationType;
}

View File

@ -0,0 +1,63 @@
package cn.axzo.orgmanax.dto.unit.qualification.req;
import cn.axzo.foundation.dao.support.wrapper.CriteriaField;
import cn.axzo.foundation.dao.support.wrapper.Operator;
import cn.axzo.foundation.page.PageReqV2;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
import java.util.Set;
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Data
@SuperBuilder
public class ListQualificationReq extends PageReqV2 {
@CriteriaField(field = "id", operator = Operator.IN)
private Set<Long> ids;
/**
* 单位id
*/
@CriteriaField
private Long ouId;
/**
* 单位id
*/
@CriteriaField(field = "ouId", operator = Operator.IN)
private List<Long> ouIds;
/**
* 证书编号
*/
@CriteriaField
private String number;
/**
* 证书名称
* 1:建筑业企业资质证书
* 2:房地产开发企业资质证书
* 3:工程监理资质证书
*/
@CriteriaField
private String name;
/**
* 查询返回数据包含逻辑删除数据即查询未删除和已删除的数据
*/
@CriteriaField(ignore = true)
private Boolean includeDeleted;
@CriteriaField(ignore = true)
Integer page;
@CriteriaField(ignore = true)
Integer pageSize;
@CriteriaField(ignore = true)
List<String> sort;
}

View File

@ -1,7 +1,10 @@
package cn.axzo.orgmanax.server.unit.controller;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.foundation.result.ApiResult;
import cn.axzo.orgmanax.api.unit.feign.OrgUnitQualificationApi;
import cn.axzo.orgmanax.dto.unit.qualification.dto.OrgQualificationDTO;
import cn.axzo.orgmanax.dto.unit.qualification.req.ListQualificationReq;
import cn.axzo.orgmanax.server.unit.service.QualificationService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping;
@ -25,4 +28,9 @@ public class UnitQualificationController implements OrgUnitQualificationApi {
return ApiResult.success(qualificationService.getQualificationTypesByUnitId(unitId));
}
@Override
public ApiResult<PageResp<OrgQualificationDTO>> list(ListQualificationReq req) {
return null;
}
}

View File

@ -1,9 +1,14 @@
package cn.axzo.orgmanax.server.unit.service;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.dto.unit.qualification.dto.OrgQualificationDTO;
import cn.axzo.orgmanax.dto.unit.qualification.req.ListQualificationReq;
import java.util.List;
public interface QualificationService {
List<Integer> getQualificationTypesByUnitId(Long unitId);
PageResp<OrgQualificationDTO> list(ListQualificationReq req);
}

View File

@ -1,5 +1,8 @@
package cn.axzo.orgmanax.server.unit.service.impl;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.dto.unit.qualification.dto.OrgQualificationDTO;
import cn.axzo.orgmanax.dto.unit.qualification.req.ListQualificationReq;
import cn.axzo.orgmanax.infra.dao.qualification.repositrory.QualificationOuTypeQueryRepository;
import cn.axzo.orgmanax.server.unit.service.QualificationService;
import cn.hutool.core.collection.CollUtil;
@ -33,4 +36,9 @@ public class QualificationServiceImpl implements QualificationService {
return qualificationOuTypeRespList.stream().map(QualificationOuTypeQueryRepository.QualificationOuTypeResp::getType).collect(Collectors.toList());
}
@Override
public PageResp<OrgQualificationDTO> list(ListQualificationReq req) {
return null;
}
}