添加获取报销流程打印数据接口

This commit is contained in:
Echo 2024-04-19 17:05:00 +08:00
parent 08d6a00dd3
commit 946689c9cd
7 changed files with 122 additions and 2 deletions

View File

@ -0,0 +1,24 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.print;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement.BpmOAReimbursementRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
@Schema(description = "管理后台 - 报销打印数回数据 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BpmOAReimbursementPrintDataRespVO extends BpmOABaseRespVO {
@Schema(description = "报销业务数据", requiredMode = Schema.RequiredMode.REQUIRED)
private BpmOAReimbursementRespVO bpmOAReimbursementRespVO ;
@Schema(description = "流程审批节点信息【包含人员签名地址】", requiredMode = Schema.RequiredMode.REQUIRED)
List<BpmTaskRespVO> processTasks ;
}

View File

@ -0,0 +1,23 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.print;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.NotEmpty;
@Schema(description = "管理后台 - 流程打印数据请求参数 Item Response VO")
@Data
@ToString(callSuper = true)
public class BpmProcessInstancePrintDataReqVO {
@Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "ac4e415a-f645-11ee-a8c3-00163e18933d")
@NotEmpty(message = "流程实例的编号不能为空")
private String id;
@Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "oa_reimbursement")
@NotEmpty(message = "流程标识不能为空")
private String key;
}

View File

@ -0,0 +1,24 @@
package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.print;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.reimbursement.BpmOAReimbursementRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.NotEmpty;
@Schema(description = "管理后台 - 流程打印响应数据 Item Response VO")
@Data
@ToString(callSuper = true)
public class BpmProcessInstancePrintDataRespVO {
@Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "ac4e415a-f645-11ee-a8c3-00163e18933d")
private String id;
@Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "oa_reimbursement")
private String key;
@Schema(description = "报销业务打印数据", requiredMode = Schema.RequiredMode.REQUIRED)
private BpmOAReimbursementPrintDataRespVO bpmOAReimbursementPrintDataRespVO ;
}

View File

@ -10,11 +10,18 @@ import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Schema(description = "管理后台 - 报销申请创建 Request VO")
@Schema(description = "管理后台 - 报销响应数据 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BpmOAReimbursementRespVO extends BpmOABaseRespVO {
/**
* 收款人信息
*/
private PayeeUser payeeUser;
@Schema(description = "报销费用归属部门ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long belongDeptId ;
@Schema(description = "报销项目明细", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "报销项目不能为空")
@ -42,5 +49,32 @@ public class BpmOAReimbursementRespVO extends BpmOABaseRespVO {
@Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED)
private List<UploadUserFile> fileItems ;
@Schema(description = "收款人信息")
@Data
public static class PayeeUser {
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Long id;
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
private String nickname;
@Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Long deptId;
@Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
private String deptName;
@Schema(description = "电子签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "http://xxx.jpg")
private String signURL;
@Schema(description = "用户银行卡业务表ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long bankId;
@Schema(description = "开户行信息", requiredMode = Schema.RequiredMode.REQUIRED)
private String bankNName;
@Schema(description = "银行卡号", requiredMode = Schema.RequiredMode.REQUIRED)
private String bankNo;
}
}

View File

@ -35,13 +35,18 @@ public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO {
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Long id;
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
private String nickname;
@Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Long deptId;
@Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
private String deptName;
@Schema(description = "电子签名", requiredMode = Schema.RequiredMode.REQUIRED, example = "http://xxx.jpg")
private String signURL;
}
}

View File

@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.bpm.service.task;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.print.BpmProcessInstancePrintDataReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.print.BpmProcessInstancePrintDataRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.*;
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
import org.flowable.engine.delegate.event.FlowableCancelledEvent;
@ -186,4 +188,12 @@ public interface BpmProcessInstanceService {
* @return 流程实例
*/
BpmProcessInstanceExtDO getProcessInstanceDO(String id);
/**
* 获取指定流程需要打印数据
*
* @param reqVO
* @return
*/
BpmProcessInstancePrintDataRespVO getOAReportPrintData(BpmProcessInstancePrintDataReqVO reqVO) ;
}