package com.ruoyi.system.utils; /** * 审批类型枚举 * * @author YourName * @since 2025-09-17 */ public enum ApprovalTypeEnum { /** * 请假申请 */ LEAVE_APPLICATION(1, "请假申请"), /** * 外出申请 */ OUT_APPLICATION(2, "外出申请"), /** * 出差申请 */ BUSINESS_TRIP_APPLICATION(3, "出差申请"), /** * 销假申请 */ LEAVE_CANCELLATION_APPLICATION(4, "销假申请"), /** * 采购申请 */ PURCHASE_APPLICATION(5, "采购申请"), /** * 资产入库 */ ASSET_STORAGE(6, "资产入库"), /** * 物品领用 */ ITEM_RECEIVE(7, "物品领用"), /** * 物品借用 */ ITEM_BORROW(8, "物品借用"), /** * 借用归还 */ BORROW_RETURN(9, "借用归还"), /** * 资产处置 */ ASSET_DISPOSAL(10, "资产处置"), /** * 资产变更 */ ASSET_CHANGE(11, "资产变更"), /** * 报销申请 */ REIMBURSEMENT_APPLICATION(12, "报销申请"), /** * 款项申请 */ PAYMENT_APPLICATION(13, "款项申请"), /** * 合同文件 */ CONTRACT_DOCUMENT(14, "合同文件"), /** * 进度款支付 */ PROGRESS_PAYMENT(15, "进度款支付"), /** * 内部联系单 */ INTERNAL_CONTACT_FORM(16, "内部联系单"), /** * 广告制作申请 */ ADVERTISEMENT_APPLICATION(17, "广告制作申请"); private final Integer id; private final String name; /** * 构造方法 * * @param id 审批类型ID * @param name 审批类型名称 */ ApprovalTypeEnum(Integer id, String name) { this.id = id; this.name = name; } /** * 获取审批类型ID * * @return 审批类型ID */ public Integer getId() { return id; } /** * 获取审批类型名称 * * @return 审批类型名称 */ public String getName() { return name; } /** * 根据ID获取审批类型枚举 * * @param id 审批类型ID * @return 对应的审批类型枚举,如果未找到返回null */ public static ApprovalTypeEnum getById(Integer id) { if (id == null) { return null; } for (ApprovalTypeEnum type : values()) { if (type.id.equals(id)) { return type; } } return null; } /** * 根据名称获取审批类型枚举 * * @param name 审批类型名称 * @return 对应的审批类型枚举,如果未找到返回null */ public static ApprovalTypeEnum getByName(String name) { if (name == null || name.isEmpty()) { return null; } for (ApprovalTypeEnum type : values()) { if (type.name.equals(name)) { return type; } } return null; } /** * 判断给定ID是否为有效的审批类型 * * @param id 审批类型ID * @return 是否有效 */ public static boolean isValidId(Integer id) { return getById(id) != null; } }