package org.dromara.crm.service; import org.dromara.crm.domain.bo.CrmQuoteApprovalBo; import org.dromara.crm.domain.vo.CrmQuoteApprovalVo; import java.util.List; /** * 报价单审批Service接口 * * @author 系统管理员 * @date 2025-01-03 */ public interface ICrmQuoteApprovalService { /** * 查询审批记录列表 */ List queryListByQuoteId(Long quoteId); /** * 审批报价单 */ Boolean approveQuote(Long id, String approvalResult, String approvalOpinion, String remark); /** * 撤回审批 */ Boolean withdrawApproval(Long quoteId, String remark); /** * 创建审批记录 */ Boolean createApprovalRecords(Long quoteId, List approverIds); /** * 删除待审批记录 */ Boolean deletePendingApprovals(Long quoteId); /** * 刷新审批人姓名(修复旧数据) * * @param quoteId 报价单ID(可选,为空则刷新所有) * @return 更新数量 */ Integer refreshApproverNames(Long quoteId); /** * 检查用户是否可以审批指定报价单 * * @param quoteId 报价单ID * @param userId 用户ID * @return true-可以审批,false-不能审批 */ Boolean canUserApprove(Long quoteId, Long userId); }