diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitQualificationApi.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitQualificationApi.java index bf4e755..c1b981b 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitQualificationApi.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitQualificationApi.java @@ -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> getQualificationTypesByUnitId(@RequestParam("unitId") Long unitId); + /** + * 分页列表接口。 + * XXX:本接口默认分页,单页最多返回1000条数据。调用方使用时需注意。 + */ + @PostMapping("/api/org/qualification/list") + ApiResult> list(@RequestBody @Validated ListQualificationReq req); } \ No newline at end of file diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/unit/qualification/dto/OrgQualificationDTO.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/unit/qualification/dto/OrgQualificationDTO.java new file mode 100644 index 0000000..92e5344 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/unit/qualification/dto/OrgQualificationDTO.java @@ -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; + +} \ No newline at end of file diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/unit/qualification/req/ListQualificationReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/unit/qualification/req/ListQualificationReq.java new file mode 100644 index 0000000..50d2247 --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/unit/qualification/req/ListQualificationReq.java @@ -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 ids; + + /** + * 单位id + */ + @CriteriaField + private Long ouId; + + /** + * 单位id + */ + @CriteriaField(field = "ouId", operator = Operator.IN) + private List 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 sort; + +} diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitQualificationController.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitQualificationController.java index 018d969..64cf7d3 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitQualificationController.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitQualificationController.java @@ -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> list(ListQualificationReq req) { + return null; + } + } \ No newline at end of file diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/QualificationService.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/QualificationService.java index 0432c7a..6fd25c6 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/QualificationService.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/QualificationService.java @@ -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 getQualificationTypesByUnitId(Long unitId); + PageResp list(ListQualificationReq req); } \ No newline at end of file diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/QualificationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/QualificationServiceImpl.java index b8283f8..de15566 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/QualificationServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/QualificationServiceImpl.java @@ -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 list(ListQualificationReq req) { + return null; + } + } \ No newline at end of file