定义专项核查拓展查询接口契约
This commit is contained in:
@@ -1,7 +1,19 @@
|
|||||||
package com.ruoyi.ccdi.project.controller;
|
package com.ruoyi.ccdi.project.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseDetailQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentDetailQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferDetailQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferQueryDTO;
|
||||||
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityDetailQueryDTO;
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityDetailQueryDTO;
|
||||||
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityListQueryDTO;
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityListQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseDetailVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseListVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentDetailVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentListVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferDetailVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferListVO;
|
||||||
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityDetailVO;
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityDetailVO;
|
||||||
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityListVO;
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityListVO;
|
||||||
import com.ruoyi.ccdi.project.service.ICcdiProjectSpecialCheckService;
|
import com.ruoyi.ccdi.project.service.ICcdiProjectSpecialCheckService;
|
||||||
@@ -48,4 +60,70 @@ public class CcdiProjectSpecialCheckController extends BaseController {
|
|||||||
CcdiProjectFamilyAssetLiabilityDetailVO result = specialCheckService.getFamilyAssetLiabilityDetail(queryDTO);
|
CcdiProjectFamilyAssetLiabilityDetailVO result = specialCheckService.getFamilyAssetLiabilityDetail(queryDTO);
|
||||||
return AjaxResult.success(result);
|
return AjaxResult.success(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询采购拓展列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/extended-query/purchase/list")
|
||||||
|
@Operation(summary = "查询采购拓展列表")
|
||||||
|
@PreAuthorize("@ss.hasPermi('ccdi:project:query')")
|
||||||
|
public AjaxResult getExtendedPurchaseList(@Validated CcdiProjectExtendedPurchaseQueryDTO queryDTO) {
|
||||||
|
CcdiProjectExtendedPurchaseListVO result = specialCheckService.getExtendedPurchaseList(queryDTO);
|
||||||
|
return AjaxResult.success(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询采购拓展详情
|
||||||
|
*/
|
||||||
|
@GetMapping("/extended-query/purchase/detail")
|
||||||
|
@Operation(summary = "查询采购拓展详情")
|
||||||
|
@PreAuthorize("@ss.hasPermi('ccdi:project:query')")
|
||||||
|
public AjaxResult getExtendedPurchaseDetail(@Validated CcdiProjectExtendedPurchaseDetailQueryDTO queryDTO) {
|
||||||
|
CcdiProjectExtendedPurchaseDetailVO result = specialCheckService.getExtendedPurchaseDetail(queryDTO);
|
||||||
|
return AjaxResult.success(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询招聘拓展列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/extended-query/recruitment/list")
|
||||||
|
@Operation(summary = "查询招聘拓展列表")
|
||||||
|
@PreAuthorize("@ss.hasPermi('ccdi:project:query')")
|
||||||
|
public AjaxResult getExtendedRecruitmentList(@Validated CcdiProjectExtendedRecruitmentQueryDTO queryDTO) {
|
||||||
|
CcdiProjectExtendedRecruitmentListVO result = specialCheckService.getExtendedRecruitmentList(queryDTO);
|
||||||
|
return AjaxResult.success(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询招聘拓展详情
|
||||||
|
*/
|
||||||
|
@GetMapping("/extended-query/recruitment/detail")
|
||||||
|
@Operation(summary = "查询招聘拓展详情")
|
||||||
|
@PreAuthorize("@ss.hasPermi('ccdi:project:query')")
|
||||||
|
public AjaxResult getExtendedRecruitmentDetail(@Validated CcdiProjectExtendedRecruitmentDetailQueryDTO queryDTO) {
|
||||||
|
CcdiProjectExtendedRecruitmentDetailVO result = specialCheckService.getExtendedRecruitmentDetail(queryDTO);
|
||||||
|
return AjaxResult.success(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询调动拓展列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/extended-query/transfer/list")
|
||||||
|
@Operation(summary = "查询调动拓展列表")
|
||||||
|
@PreAuthorize("@ss.hasPermi('ccdi:project:query')")
|
||||||
|
public AjaxResult getExtendedTransferList(@Validated CcdiProjectExtendedTransferQueryDTO queryDTO) {
|
||||||
|
CcdiProjectExtendedTransferListVO result = specialCheckService.getExtendedTransferList(queryDTO);
|
||||||
|
return AjaxResult.success(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询调动拓展详情
|
||||||
|
*/
|
||||||
|
@GetMapping("/extended-query/transfer/detail")
|
||||||
|
@Operation(summary = "查询调动拓展详情")
|
||||||
|
@PreAuthorize("@ss.hasPermi('ccdi:project:query')")
|
||||||
|
public AjaxResult getExtendedTransferDetail(@Validated CcdiProjectExtendedTransferDetailQueryDTO queryDTO) {
|
||||||
|
CcdiProjectExtendedTransferDetailVO result = specialCheckService.getExtendedTransferDetail(queryDTO);
|
||||||
|
return AjaxResult.success(result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.dto;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查采购拓展查询详情入参
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedPurchaseDetailQueryDTO {
|
||||||
|
|
||||||
|
/** 项目ID */
|
||||||
|
@NotNull(message = "项目ID不能为空")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/** 采购事项ID */
|
||||||
|
@NotBlank(message = "采购事项ID不能为空")
|
||||||
|
private String purchaseId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.dto;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查采购拓展查询列表入参
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedPurchaseQueryDTO {
|
||||||
|
|
||||||
|
/** 项目ID */
|
||||||
|
@NotNull(message = "项目ID不能为空")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/** 申请人姓名 */
|
||||||
|
private String applicantName;
|
||||||
|
|
||||||
|
/** 申请日期开始 */
|
||||||
|
private String applyDateStart;
|
||||||
|
|
||||||
|
/** 申请日期结束 */
|
||||||
|
private String applyDateEnd;
|
||||||
|
|
||||||
|
/** 页码 */
|
||||||
|
private Integer pageNum = 1;
|
||||||
|
|
||||||
|
/** 每页条数 */
|
||||||
|
private Integer pageSize = 10;
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.dto;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查招聘拓展查询详情入参
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedRecruitmentDetailQueryDTO {
|
||||||
|
|
||||||
|
/** 项目ID */
|
||||||
|
@NotNull(message = "项目ID不能为空")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/** 招聘项目编号 */
|
||||||
|
@NotBlank(message = "招聘项目编号不能为空")
|
||||||
|
private String recruitId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.dto;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查招聘拓展查询列表入参
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedRecruitmentQueryDTO {
|
||||||
|
|
||||||
|
/** 项目ID */
|
||||||
|
@NotNull(message = "项目ID不能为空")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/** 面试官姓名 */
|
||||||
|
private String interviewerName;
|
||||||
|
|
||||||
|
/** 页码 */
|
||||||
|
private Integer pageNum = 1;
|
||||||
|
|
||||||
|
/** 每页条数 */
|
||||||
|
private Integer pageSize = 10;
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.dto;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查调动拓展查询详情入参
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedTransferDetailQueryDTO {
|
||||||
|
|
||||||
|
/** 项目ID */
|
||||||
|
@NotNull(message = "项目ID不能为空")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/** 主键ID */
|
||||||
|
@NotNull(message = "主键ID不能为空")
|
||||||
|
private Long id;
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.dto;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查调动拓展查询列表入参
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedTransferQueryDTO {
|
||||||
|
|
||||||
|
/** 项目ID */
|
||||||
|
@NotNull(message = "项目ID不能为空")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/** 员工姓名 */
|
||||||
|
private String staffName;
|
||||||
|
|
||||||
|
/** 调动日期开始 */
|
||||||
|
private String transferDateStart;
|
||||||
|
|
||||||
|
/** 调动日期结束 */
|
||||||
|
private String transferDateEnd;
|
||||||
|
|
||||||
|
/** 页码 */
|
||||||
|
private Integer pageNum = 1;
|
||||||
|
|
||||||
|
/** 每页条数 */
|
||||||
|
private Integer pageSize = 10;
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.vo;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查采购拓展查询详情
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedPurchaseDetailVO {
|
||||||
|
|
||||||
|
private String purchaseId;
|
||||||
|
|
||||||
|
private String purchaseCategory;
|
||||||
|
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
private String subjectName;
|
||||||
|
|
||||||
|
private String subjectDesc;
|
||||||
|
|
||||||
|
private BigDecimal purchaseQty;
|
||||||
|
|
||||||
|
private BigDecimal budgetAmount;
|
||||||
|
|
||||||
|
private BigDecimal bidAmount;
|
||||||
|
|
||||||
|
private BigDecimal actualAmount;
|
||||||
|
|
||||||
|
private BigDecimal contractAmount;
|
||||||
|
|
||||||
|
private BigDecimal settlementAmount;
|
||||||
|
|
||||||
|
private String purchaseMethod;
|
||||||
|
|
||||||
|
private String supplierName;
|
||||||
|
|
||||||
|
private String contactPerson;
|
||||||
|
|
||||||
|
private String contactPhone;
|
||||||
|
|
||||||
|
private String supplierUscc;
|
||||||
|
|
||||||
|
private String supplierBankAccount;
|
||||||
|
|
||||||
|
private String applyDate;
|
||||||
|
|
||||||
|
private String planApproveDate;
|
||||||
|
|
||||||
|
private String announceDate;
|
||||||
|
|
||||||
|
private String bidOpenDate;
|
||||||
|
|
||||||
|
private String contractSignDate;
|
||||||
|
|
||||||
|
private String expectedDeliveryDate;
|
||||||
|
|
||||||
|
private String actualDeliveryDate;
|
||||||
|
|
||||||
|
private String acceptanceDate;
|
||||||
|
|
||||||
|
private String settlementDate;
|
||||||
|
|
||||||
|
private String applicantId;
|
||||||
|
|
||||||
|
private String applicantName;
|
||||||
|
|
||||||
|
private String applyDepartment;
|
||||||
|
|
||||||
|
private String purchaseLeaderId;
|
||||||
|
|
||||||
|
private String purchaseLeaderName;
|
||||||
|
|
||||||
|
private String purchaseDepartment;
|
||||||
|
|
||||||
|
private String createdBy;
|
||||||
|
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
private String updatedBy;
|
||||||
|
|
||||||
|
private String updateTime;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查采购拓展查询列表项
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedPurchaseListItemVO {
|
||||||
|
|
||||||
|
/** 采购事项ID */
|
||||||
|
private String purchaseId;
|
||||||
|
|
||||||
|
/** 项目名称 */
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
/** 标的物名称 */
|
||||||
|
private String subjectName;
|
||||||
|
|
||||||
|
/** 申请人姓名 */
|
||||||
|
private String applicantName;
|
||||||
|
|
||||||
|
/** 申请日期 */
|
||||||
|
private String applyDate;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.vo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查采购拓展查询列表结果
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedPurchaseListVO {
|
||||||
|
|
||||||
|
/** 列表数据 */
|
||||||
|
private List<CcdiProjectExtendedPurchaseListItemVO> rows;
|
||||||
|
|
||||||
|
/** 总数 */
|
||||||
|
private Long total;
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.vo;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查招聘拓展查询详情
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedRecruitmentDetailVO {
|
||||||
|
|
||||||
|
private String recruitId;
|
||||||
|
|
||||||
|
private String recruitName;
|
||||||
|
|
||||||
|
private String posName;
|
||||||
|
|
||||||
|
private String posCategory;
|
||||||
|
|
||||||
|
private String posDesc;
|
||||||
|
|
||||||
|
private String candName;
|
||||||
|
|
||||||
|
private String candEdu;
|
||||||
|
|
||||||
|
private String candId;
|
||||||
|
|
||||||
|
private String candSchool;
|
||||||
|
|
||||||
|
private String candMajor;
|
||||||
|
|
||||||
|
private String candGrad;
|
||||||
|
|
||||||
|
private String admitStatus;
|
||||||
|
|
||||||
|
private String interviewerName1;
|
||||||
|
|
||||||
|
private String interviewerId1;
|
||||||
|
|
||||||
|
private String interviewerName2;
|
||||||
|
|
||||||
|
private String interviewerId2;
|
||||||
|
|
||||||
|
private String createdBy;
|
||||||
|
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
private String updatedBy;
|
||||||
|
|
||||||
|
private Date updateTime;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查招聘拓展查询列表项
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedRecruitmentListItemVO {
|
||||||
|
|
||||||
|
/** 招聘项目编号 */
|
||||||
|
private String recruitId;
|
||||||
|
|
||||||
|
/** 招聘项目名称 */
|
||||||
|
private String recruitName;
|
||||||
|
|
||||||
|
/** 职位名称 */
|
||||||
|
private String posName;
|
||||||
|
|
||||||
|
/** 面试官摘要 */
|
||||||
|
private String interviewerNameSummary;
|
||||||
|
|
||||||
|
/** 录用情况 */
|
||||||
|
private String admitStatus;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.vo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查招聘拓展查询列表结果
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedRecruitmentListVO {
|
||||||
|
|
||||||
|
/** 列表数据 */
|
||||||
|
private List<CcdiProjectExtendedRecruitmentListItemVO> rows;
|
||||||
|
|
||||||
|
/** 总数 */
|
||||||
|
private Long total;
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.vo;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查调动拓展查询详情
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedTransferDetailVO {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private Long staffId;
|
||||||
|
|
||||||
|
private String staffName;
|
||||||
|
|
||||||
|
private String transferType;
|
||||||
|
|
||||||
|
private String transferSubType;
|
||||||
|
|
||||||
|
private Long deptIdBefore;
|
||||||
|
|
||||||
|
private String deptNameBefore;
|
||||||
|
|
||||||
|
private String gradeBefore;
|
||||||
|
|
||||||
|
private String positionBefore;
|
||||||
|
|
||||||
|
private String salaryLevelBefore;
|
||||||
|
|
||||||
|
private Long deptIdAfter;
|
||||||
|
|
||||||
|
private String deptNameAfter;
|
||||||
|
|
||||||
|
private String gradeAfter;
|
||||||
|
|
||||||
|
private String positionAfter;
|
||||||
|
|
||||||
|
private String salaryLevelAfter;
|
||||||
|
|
||||||
|
private Date transferDate;
|
||||||
|
|
||||||
|
private String createdBy;
|
||||||
|
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
private String updatedBy;
|
||||||
|
|
||||||
|
private Date updateTime;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查调动拓展查询列表项
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedTransferListItemVO {
|
||||||
|
|
||||||
|
/** 员工姓名 */
|
||||||
|
private String staffName;
|
||||||
|
|
||||||
|
/** 调动类型 */
|
||||||
|
private String transferType;
|
||||||
|
|
||||||
|
/** 调动前部门 */
|
||||||
|
private String deptNameBefore;
|
||||||
|
|
||||||
|
/** 调动后部门 */
|
||||||
|
private String deptNameAfter;
|
||||||
|
|
||||||
|
/** 调动日期 */
|
||||||
|
private String transferDate;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.ruoyi.ccdi.project.domain.vo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专项核查调动拓展查询列表结果
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CcdiProjectExtendedTransferListVO {
|
||||||
|
|
||||||
|
/** 列表数据 */
|
||||||
|
private List<CcdiProjectExtendedTransferListItemVO> rows;
|
||||||
|
|
||||||
|
/** 总数 */
|
||||||
|
private Long total;
|
||||||
|
}
|
||||||
@@ -1,7 +1,19 @@
|
|||||||
package com.ruoyi.ccdi.project.service;
|
package com.ruoyi.ccdi.project.service;
|
||||||
|
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseDetailQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentDetailQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferDetailQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferQueryDTO;
|
||||||
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityDetailQueryDTO;
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityDetailQueryDTO;
|
||||||
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityListQueryDTO;
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityListQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseDetailVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseListVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentDetailVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentListVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferDetailVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferListVO;
|
||||||
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityDetailVO;
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityDetailVO;
|
||||||
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityListVO;
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityListVO;
|
||||||
|
|
||||||
@@ -29,4 +41,54 @@ public interface ICcdiProjectSpecialCheckService {
|
|||||||
CcdiProjectFamilyAssetLiabilityDetailVO getFamilyAssetLiabilityDetail(
|
CcdiProjectFamilyAssetLiabilityDetailVO getFamilyAssetLiabilityDetail(
|
||||||
CcdiProjectFamilyAssetLiabilityDetailQueryDTO queryDTO
|
CcdiProjectFamilyAssetLiabilityDetailQueryDTO queryDTO
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询采购拓展列表
|
||||||
|
*
|
||||||
|
* @param queryDTO 查询条件
|
||||||
|
* @return 列表结果
|
||||||
|
*/
|
||||||
|
CcdiProjectExtendedPurchaseListVO getExtendedPurchaseList(CcdiProjectExtendedPurchaseQueryDTO queryDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询采购拓展详情
|
||||||
|
*
|
||||||
|
* @param queryDTO 查询条件
|
||||||
|
* @return 详情结果
|
||||||
|
*/
|
||||||
|
CcdiProjectExtendedPurchaseDetailVO getExtendedPurchaseDetail(CcdiProjectExtendedPurchaseDetailQueryDTO queryDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询招聘拓展列表
|
||||||
|
*
|
||||||
|
* @param queryDTO 查询条件
|
||||||
|
* @return 列表结果
|
||||||
|
*/
|
||||||
|
CcdiProjectExtendedRecruitmentListVO getExtendedRecruitmentList(CcdiProjectExtendedRecruitmentQueryDTO queryDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询招聘拓展详情
|
||||||
|
*
|
||||||
|
* @param queryDTO 查询条件
|
||||||
|
* @return 详情结果
|
||||||
|
*/
|
||||||
|
CcdiProjectExtendedRecruitmentDetailVO getExtendedRecruitmentDetail(
|
||||||
|
CcdiProjectExtendedRecruitmentDetailQueryDTO queryDTO
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询调动拓展列表
|
||||||
|
*
|
||||||
|
* @param queryDTO 查询条件
|
||||||
|
* @return 列表结果
|
||||||
|
*/
|
||||||
|
CcdiProjectExtendedTransferListVO getExtendedTransferList(CcdiProjectExtendedTransferQueryDTO queryDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询调动拓展详情
|
||||||
|
*
|
||||||
|
* @param queryDTO 查询条件
|
||||||
|
* @return 详情结果
|
||||||
|
*/
|
||||||
|
CcdiProjectExtendedTransferDetailVO getExtendedTransferDetail(CcdiProjectExtendedTransferDetailQueryDTO queryDTO);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,20 @@
|
|||||||
package com.ruoyi.ccdi.project.service.impl;
|
package com.ruoyi.ccdi.project.service.impl;
|
||||||
|
|
||||||
import com.ruoyi.ccdi.project.domain.CcdiProject;
|
import com.ruoyi.ccdi.project.domain.CcdiProject;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseDetailQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentDetailQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferDetailQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferQueryDTO;
|
||||||
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityDetailQueryDTO;
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityDetailQueryDTO;
|
||||||
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityListQueryDTO;
|
import com.ruoyi.ccdi.project.domain.dto.CcdiProjectFamilyAssetLiabilityListQueryDTO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseDetailVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseListVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentDetailVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentListVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferDetailVO;
|
||||||
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferListVO;
|
||||||
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetDetailVO;
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetDetailVO;
|
||||||
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityDetailVO;
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityDetailVO;
|
||||||
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityListItemVO;
|
import com.ruoyi.ccdi.project.domain.vo.CcdiProjectFamilyAssetLiabilityListItemVO;
|
||||||
@@ -58,6 +70,53 @@ public class CcdiProjectSpecialCheckServiceImpl implements ICcdiProjectSpecialCh
|
|||||||
return detail;
|
return detail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CcdiProjectExtendedPurchaseListVO getExtendedPurchaseList(CcdiProjectExtendedPurchaseQueryDTO queryDTO) {
|
||||||
|
CcdiProjectExtendedPurchaseListVO result = new CcdiProjectExtendedPurchaseListVO();
|
||||||
|
result.setRows(List.of());
|
||||||
|
result.setTotal(0L);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CcdiProjectExtendedPurchaseDetailVO getExtendedPurchaseDetail(
|
||||||
|
CcdiProjectExtendedPurchaseDetailQueryDTO queryDTO
|
||||||
|
) {
|
||||||
|
return new CcdiProjectExtendedPurchaseDetailVO();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CcdiProjectExtendedRecruitmentListVO getExtendedRecruitmentList(
|
||||||
|
CcdiProjectExtendedRecruitmentQueryDTO queryDTO
|
||||||
|
) {
|
||||||
|
CcdiProjectExtendedRecruitmentListVO result = new CcdiProjectExtendedRecruitmentListVO();
|
||||||
|
result.setRows(List.of());
|
||||||
|
result.setTotal(0L);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CcdiProjectExtendedRecruitmentDetailVO getExtendedRecruitmentDetail(
|
||||||
|
CcdiProjectExtendedRecruitmentDetailQueryDTO queryDTO
|
||||||
|
) {
|
||||||
|
return new CcdiProjectExtendedRecruitmentDetailVO();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CcdiProjectExtendedTransferListVO getExtendedTransferList(CcdiProjectExtendedTransferQueryDTO queryDTO) {
|
||||||
|
CcdiProjectExtendedTransferListVO result = new CcdiProjectExtendedTransferListVO();
|
||||||
|
result.setRows(List.of());
|
||||||
|
result.setTotal(0L);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CcdiProjectExtendedTransferDetailVO getExtendedTransferDetail(
|
||||||
|
CcdiProjectExtendedTransferDetailQueryDTO queryDTO
|
||||||
|
) {
|
||||||
|
return new CcdiProjectExtendedTransferDetailVO();
|
||||||
|
}
|
||||||
|
|
||||||
private void ensureProjectExists(Long projectId) {
|
private void ensureProjectExists(Long projectId) {
|
||||||
CcdiProject project = projectMapper.selectById(projectId);
|
CcdiProject project = projectMapper.selectById(projectId);
|
||||||
if (project == null) {
|
if (project == null) {
|
||||||
|
|||||||
@@ -0,0 +1,185 @@
|
|||||||
|
package com.ruoyi.ccdi.project.controller;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
class CcdiProjectSpecialCheckExtendedQueryContractTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void shouldExposeExtendedPurchaseEndpointsAndContracts() throws Exception {
|
||||||
|
assertEndpoint(
|
||||||
|
"getExtendedPurchaseList",
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseQueryDTO",
|
||||||
|
"/extended-query/purchase/list"
|
||||||
|
);
|
||||||
|
assertEndpoint(
|
||||||
|
"getExtendedPurchaseDetail",
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseDetailQueryDTO",
|
||||||
|
"/extended-query/purchase/detail"
|
||||||
|
);
|
||||||
|
|
||||||
|
assertFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseQueryDTO",
|
||||||
|
"projectId",
|
||||||
|
"applicantName",
|
||||||
|
"applyDateStart",
|
||||||
|
"applyDateEnd",
|
||||||
|
"pageNum",
|
||||||
|
"pageSize"
|
||||||
|
);
|
||||||
|
assertFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedPurchaseDetailQueryDTO",
|
||||||
|
"projectId",
|
||||||
|
"purchaseId"
|
||||||
|
);
|
||||||
|
assertFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseListVO",
|
||||||
|
"rows",
|
||||||
|
"total"
|
||||||
|
);
|
||||||
|
assertExactFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseListItemVO",
|
||||||
|
"purchaseId",
|
||||||
|
"projectName",
|
||||||
|
"subjectName",
|
||||||
|
"applicantName",
|
||||||
|
"applyDate"
|
||||||
|
);
|
||||||
|
assertDetailVoOwnedByProject("com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedPurchaseDetailVO");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void shouldExposeExtendedRecruitmentEndpointsAndContracts() throws Exception {
|
||||||
|
assertEndpoint(
|
||||||
|
"getExtendedRecruitmentList",
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentQueryDTO",
|
||||||
|
"/extended-query/recruitment/list"
|
||||||
|
);
|
||||||
|
assertEndpoint(
|
||||||
|
"getExtendedRecruitmentDetail",
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentDetailQueryDTO",
|
||||||
|
"/extended-query/recruitment/detail"
|
||||||
|
);
|
||||||
|
|
||||||
|
assertFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentQueryDTO",
|
||||||
|
"projectId",
|
||||||
|
"interviewerName",
|
||||||
|
"pageNum",
|
||||||
|
"pageSize"
|
||||||
|
);
|
||||||
|
assertFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedRecruitmentDetailQueryDTO",
|
||||||
|
"projectId",
|
||||||
|
"recruitId"
|
||||||
|
);
|
||||||
|
assertFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentListVO",
|
||||||
|
"rows",
|
||||||
|
"total"
|
||||||
|
);
|
||||||
|
assertExactFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentListItemVO",
|
||||||
|
"recruitId",
|
||||||
|
"recruitName",
|
||||||
|
"posName",
|
||||||
|
"interviewerNameSummary",
|
||||||
|
"admitStatus"
|
||||||
|
);
|
||||||
|
assertDetailVoOwnedByProject("com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedRecruitmentDetailVO");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void shouldExposeExtendedTransferEndpointsAndContracts() throws Exception {
|
||||||
|
assertEndpoint(
|
||||||
|
"getExtendedTransferList",
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferQueryDTO",
|
||||||
|
"/extended-query/transfer/list"
|
||||||
|
);
|
||||||
|
assertEndpoint(
|
||||||
|
"getExtendedTransferDetail",
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferDetailQueryDTO",
|
||||||
|
"/extended-query/transfer/detail"
|
||||||
|
);
|
||||||
|
|
||||||
|
assertFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferQueryDTO",
|
||||||
|
"projectId",
|
||||||
|
"staffName",
|
||||||
|
"transferDateStart",
|
||||||
|
"transferDateEnd",
|
||||||
|
"pageNum",
|
||||||
|
"pageSize"
|
||||||
|
);
|
||||||
|
assertFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.dto.CcdiProjectExtendedTransferDetailQueryDTO",
|
||||||
|
"projectId",
|
||||||
|
"id"
|
||||||
|
);
|
||||||
|
assertFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferListVO",
|
||||||
|
"rows",
|
||||||
|
"total"
|
||||||
|
);
|
||||||
|
assertExactFields(
|
||||||
|
"com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferListItemVO",
|
||||||
|
"staffName",
|
||||||
|
"transferType",
|
||||||
|
"deptNameBefore",
|
||||||
|
"deptNameAfter",
|
||||||
|
"transferDate"
|
||||||
|
);
|
||||||
|
assertDetailVoOwnedByProject("com.ruoyi.ccdi.project.domain.vo.CcdiProjectExtendedTransferDetailVO");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertEndpoint(String methodName, String dtoClassName, String expectedPath) throws Exception {
|
||||||
|
Class<?> controllerClass = Class.forName("com.ruoyi.ccdi.project.controller.CcdiProjectSpecialCheckController");
|
||||||
|
Class<?> dtoClass = Class.forName(dtoClassName);
|
||||||
|
Method method = controllerClass.getMethod(methodName, dtoClass);
|
||||||
|
|
||||||
|
GetMapping getMapping = method.getAnnotation(GetMapping.class);
|
||||||
|
PreAuthorize preAuthorize = method.getAnnotation(PreAuthorize.class);
|
||||||
|
Operation operation = method.getAnnotation(Operation.class);
|
||||||
|
|
||||||
|
assertNotNull(getMapping);
|
||||||
|
assertEquals(expectedPath, getMapping.value()[0]);
|
||||||
|
assertNotNull(preAuthorize);
|
||||||
|
assertEquals("@ss.hasPermi('ccdi:project:query')", preAuthorize.value());
|
||||||
|
assertNotNull(operation);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertFields(String className, String... expectedFields) throws Exception {
|
||||||
|
Class<?> type = Class.forName(className);
|
||||||
|
List<String> fieldNames = Arrays.stream(type.getDeclaredFields()).map(Field::getName).collect(Collectors.toList());
|
||||||
|
for (String expectedField : expectedFields) {
|
||||||
|
assertTrue(fieldNames.contains(expectedField), className + " 缺少字段 " + expectedField);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertExactFields(String className, String... expectedFields) throws Exception {
|
||||||
|
Class<?> type = Class.forName(className);
|
||||||
|
List<String> fieldNames = Arrays.stream(type.getDeclaredFields()).map(Field::getName).collect(Collectors.toList());
|
||||||
|
|
||||||
|
assertEquals(expectedFields.length, fieldNames.size(), className + " 字段数量不符合预期");
|
||||||
|
for (String expectedField : expectedFields) {
|
||||||
|
assertTrue(fieldNames.contains(expectedField), className + " 缺少字段 " + expectedField);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertDetailVoOwnedByProject(String className) throws Exception {
|
||||||
|
Class<?> type = Class.forName(className);
|
||||||
|
assertTrue(type.getName().startsWith("com.ruoyi.ccdi.project.domain.vo."));
|
||||||
|
assertTrue(!type.getName().contains("info.collection"));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user