feat(REQ-3300): 添加导出变更签证接口定义

This commit is contained in:
chenwenjian 2025-01-16 18:55:20 +08:00
parent 79a98c2e3a
commit 02861537eb
10 changed files with 228 additions and 8 deletions

View File

@ -1,9 +1,11 @@
package cn.axzo.visa.api.changerecord;
import cn.axzo.framework.domain.web.result.ApiPageResult;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.visa.api.request.ChangeStatusRequest;
import cn.axzo.visa.api.request.VisaChangeApproveCreateReq;
import cn.axzo.visa.api.request.VisaChangeDiscussCreateReq;
import cn.axzo.visa.api.request.VisaChangeExportReq;
import cn.axzo.visa.api.request.VisaChangePageSearchReq;
import cn.axzo.visa.api.request.VisaChangeTempCreateReq;
import cn.axzo.visa.api.request.VisaDetailByIdRequest;
@ -70,6 +72,15 @@ public interface ChangeRecordApi {
* @return 分页记录
*/
@PostMapping("/api/visa/change/pageSearch")
ApiResult<VisaChangePageSearchResp> pageSearchVisaChangeRecord(@RequestBody @Validated VisaChangePageSearchReq req);
ApiPageResult<VisaChangePageSearchResp> pageSearchVisaChangeRecord(@RequestBody @Validated VisaChangePageSearchReq req);
/**
* 导出
*
* @param req {@link VisaChangeExportReq} 筛选条件和导出字段
* @return void
*/
@PostMapping("/api/visa/change/export")
ApiResult<Void> exportVisaChangeRecord(@RequestBody VisaChangeExportReq req);
}

View File

@ -0,0 +1,44 @@
package cn.axzo.visa.api.enums;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
/**
* @author chenwenjian
* @version 1.0
* @date 2025/1/16 17:10
*/
@Getter
public enum VisaChangeFieldEnum {
NO("no", "单号"),
TYPE("type", "单据类型"),
STATUS("status", "单据状态"),
TOPIC("topic", "主题"),
AMOUNT_CHANGE("amountChange", "金额变化"),
CREATE_BY("createBy", "发起人"),
CREATE_AT("happenTime", "提出时间"),
APPROVAL_COMPLETE_TIME("approvalCompleteTime", "审批通过时间"),
RELATION_PROJECT("relationProject", "所属工程"),
;
private final String value;
private final String desc;
VisaChangeFieldEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public static VisaChangeFieldEnum getByName(String name) {
if (StringUtils.isBlank(name)) {
return null;
}
for (VisaChangeFieldEnum value : values()) {
if (value.value.equals(name)) {
return value;
}
}
return null;
}
}

View File

@ -0,0 +1,31 @@
package cn.axzo.visa.api.request;
import cn.axzo.visa.api.enums.VisaChangeFieldEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author chenwenjian
* @version 1.0
* @date 2025/1/16 17:38
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VisaChangeExportReq {
/**
* 筛选条件
*/
private VisaChangePageSearchReq filter;
/**
* 导出字段
*/
private List<VisaChangeFieldEnum> fields;
}

View File

@ -0,0 +1,54 @@
package cn.axzo.visa.api.request;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author chenwenjian
* @version 1.0
* @date 2025/1/16 18:43
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VisaChangeInitiatorResp {
/**
* 发起人personId
*/
private Long personId;
/**
* 发起人姓名
*/
private String name;
/**
* 岗位id
*/
private Long jobId;
/**
* 岗位名称
*/
private String jobName;
/**
* 岗位编码
*/
private String jobCode;
/**
* 所属单位id或班组节点id
*/
private Long unitIdOrTeamNodeId;
/**
* 所属单位名称或班组名称
*/
private String unitOrTeamName;
}

View File

@ -57,10 +57,10 @@ public class VisaChangePageSearchReq {
private List<BigDecimal> amountChange;
/**
* 时间区间
* 时间区间
* 0起始时间 1结束时间
*/
private List<Date> submitDate;
private List<Date> happenTime;
/**
* 审批完成时间区间

View File

@ -62,10 +62,10 @@ public class VisaChangeTempCreateReq {
private JSONObject relationArea;
/**
* 提出日期
* 提出时间
*/
@NotNull(message = "请选择提交日期")
private Date submitDate;
private Date happenTime;
/**
* 专业集合

View File

@ -1,10 +1,16 @@
package cn.axzo.visa.api.response;
import cn.axzo.visa.api.enums.VisaStatusEnum;
import cn.axzo.visa.api.enums.VisaTypeEnum;
import cn.axzo.visa.api.request.VisaChangeInitiatorResp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author chenwenjian
* @version 1.0
@ -15,4 +21,65 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
public class VisaChangePageSearchResp {
private Long id;
/**
* 单号
*/
private String no;
/**
* 主题
*/
private String topic;
/**
* 项目
*/
private Long relationWorkspaceId;
/**
* 工程
*/
private Long relationProject;
/**
* 工程名称
*/
private String relationProjectName;
/**
* 提出时间
*/
private Date happenTime;
/**
* 最终审批时间
*/
private Date approvalCompleteTime;
/**
* 单据类型
*/
private VisaTypeEnum type;
/**
* 状态
*/
private VisaStatusEnum status;
/**
* 有符号的变更金额
*/
private BigDecimal amountChange;
/**
* 发起人
*/
private VisaChangeInitiatorResp initiator;
}

View File

@ -67,9 +67,9 @@ public class VisaDetailByIdResponse {
private JSONObject relationArea;
/**
* 交日期
* 出时间
*/
private Date submitDate;
private Date happenTime;
/**
* 专业集合

View File

@ -1,10 +1,12 @@
package cn.axzo.visa.server.controller;
import cn.axzo.framework.domain.web.result.ApiPageResult;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.visa.api.changerecord.ChangeRecordApi;
import cn.axzo.visa.api.request.ChangeStatusRequest;
import cn.axzo.visa.api.request.VisaChangeApproveCreateReq;
import cn.axzo.visa.api.request.VisaChangeDiscussCreateReq;
import cn.axzo.visa.api.request.VisaChangeExportReq;
import cn.axzo.visa.api.request.VisaChangePageSearchReq;
import cn.axzo.visa.api.request.VisaChangeTempCreateReq;
import cn.axzo.visa.api.request.VisaDetailByIdRequest;
@ -63,7 +65,12 @@ public class ChangeRecordController implements ChangeRecordApi {
}
@Override
public ApiResult<VisaChangePageSearchResp> pageSearchVisaChangeRecord(VisaChangePageSearchReq req) {
public ApiPageResult<VisaChangePageSearchResp> pageSearchVisaChangeRecord(VisaChangePageSearchReq req) {
return null;
}
@Override
public ApiResult<Void> exportVisaChangeRecord(VisaChangeExportReq req) {
return null;
}
}

View File

@ -66,6 +66,12 @@ public class ChangeRecord extends BaseEntity<ChangeRecord> {
@TableField(value = "relation_professional", typeHandler = FastjsonTypeHandler.class)
private JSONObject relationProfessional;
/**
* 提出时间
*/
@TableField(value = "happen_time")
private Date happenTime;
/**
* 有符号的变更金额
*/