package com.klp.domain.vo; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.klp.common.annotation.ExcelDictFormat; import com.klp.common.convert.ExcelDictConvert; import lombok.Data; /** * 通用审批(支持请假/外出等申请的审批)视图对象 wms_approval * * @author klp * @date 2026-01-20 */ @Data @ExcelIgnoreUnannotated public class WmsApprovalVo { private static final long serialVersionUID = 1L; /** * 审批记录主键ID */ @ExcelProperty(value = "审批记录主键ID") private Long approvalId; /** * 申请类型(leave=请假,out=外出) */ @ExcelProperty(value = "申请类型", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "l=eave=请假,out=外出") private String applyType; /** * 关联的申请ID(请假ID/外出ID) */ @ExcelProperty(value = "关联的申请ID", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "请=假ID/外出ID") private Long applyId; /** * 审批人姓名 */ @ExcelProperty(value = "审批人姓名") private String approverName; /** * 审批状态(待审批/已同意/已驳回/已撤销) */ @ExcelProperty(value = "审批状态", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "待=审批/已同意/已驳回/已撤销") private String approvalStatus; /** * 审批类型(single=单人审批,multi=多级审批) */ @ExcelProperty(value = "审批类型", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "single=单人审批,multi=多级审批") private String approvalType; /** * 需要审批的人数 */ @ExcelProperty(value = "需要审批的人数") private Integer requiredApprovers; /** * 已审批的人数 */ @ExcelProperty(value = "已审批的人数") private Integer currentApprovers; /** * 最终状态(pending=审批中,all_approved=全部通过,rejected=已驳回) */ @ExcelProperty(value = "最终状态", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "pending=审批中,all_approved=全部通过,rejected=已驳回") private String finalStatus; /** * 审批意见 */ @ExcelProperty(value = "审批意见") private String approvalOpinion; /** * 审批时间 */ @ExcelProperty(value = "审批时间") private Date approvalTime; /** * 备注 */ @ExcelProperty(value = "备注") private String remark; }