ICrmQuoteApprovalService.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package org.dromara.crm.service;
  2. import org.dromara.crm.domain.bo.CrmQuoteApprovalBo;
  3. import org.dromara.crm.domain.vo.CrmQuoteApprovalVo;
  4. import java.util.List;
  5. /**
  6. * 报价单审批Service接口
  7. *
  8. * @author 系统管理员
  9. * @date 2025-01-03
  10. */
  11. public interface ICrmQuoteApprovalService {
  12. /**
  13. * 查询审批记录列表
  14. */
  15. List<CrmQuoteApprovalVo> queryListByQuoteId(Long quoteId);
  16. /**
  17. * 审批报价单
  18. */
  19. Boolean approveQuote(Long id, String approvalResult, String approvalOpinion, String remark);
  20. /**
  21. * 撤回审批
  22. */
  23. Boolean withdrawApproval(Long quoteId, String remark);
  24. /**
  25. * 创建审批记录
  26. */
  27. Boolean createApprovalRecords(Long quoteId, List<Long> approverIds);
  28. /**
  29. * 删除待审批记录
  30. */
  31. Boolean deletePendingApprovals(Long quoteId);
  32. /**
  33. * 刷新审批人姓名(修复旧数据)
  34. *
  35. * @param quoteId 报价单ID(可选,为空则刷新所有)
  36. * @return 更新数量
  37. */
  38. Integer refreshApproverNames(Long quoteId);
  39. /**
  40. * 检查用户是否可以审批指定报价单
  41. *
  42. * @param quoteId 报价单ID
  43. * @param userId 用户ID
  44. * @return true-可以审批,false-不能审批
  45. */
  46. Boolean canUserApprove(Long quoteId, Long userId);
  47. }