content: package com.ruoyi.work.service;
  
  import com.ruoyi.flowable.api.domain.WorkSign;
  import com.ruoyi.flowable.api.domain.WorkSignFile;
  import com.ruoyi.flowable.api.domain.vo.WorkSignVo;
  
  import java.util.List;
  
  /**
   * 签署Service接口
   *
   * @author fengcheng
   * @date 2025-03-18
   */
  public interface IWorkSignService
  {
      /**
       * 查询签署
       *
       * @param signId 签署主键
       * @return 签署
       */
      public WorkSignVo selectWorkSignBySignId(Long signId);
  
      /**
       * 查询签署列表
       *
       * @param workSignVo 签署
       * @return 签署集合
       */
      public List<WorkSign> selectWorkSignList(WorkSignVo workSignVo);
  
      /**
       * 新增签署
       *
       * @param workSignVo 签署
       * @return 结果
       */
      public int insertWorkSign(WorkSignVo workSignVo);
  
      /**
       * 修改签署
       *
       * @param workSignVo 签署
       * @return 结果
       */
      public int updateWorkSign(WorkSignVo workSignVo);
  
      /**
       * 批量删除签署
       *
       * @param signIds 需要删除的签署主键集合
       * @return 结果
       */
      public int deleteWorkSignBySignIds(Long[] signIds);
  
      /**
       * 删除签署信息
       *
       * @param signId 签署主键
       * @return 结果
       */
      public int deleteWorkSignBySignId(Long signId);
  
      /**
       * 重新申请
       *
       * @param signId
       * @return
       */
      int reapply(Long signId);
  
      /**
       * 撤销审核
       *
       * @param signId
       * @return
       */
      int revoke(Long signId);
  
      /**
       * 提交审核
       *
       * @param signId
       * @return
       */
      int submit(Long signId);
  
      /**
       * 查询签署文件列表
       *
       * @param signId
       * @return
       */
      List<WorkSignFile> listSignFile(Long signId);
  }
  