package com.pavis.ctr.audit.project.service; import com.baomidou.mybatisplus.extension.service.IService; import com.pavis.ctr.audit.project.domain.AuditTripResult; import com.pavis.ctr.audit.project.domain.OcrTrip; import com.pavis.ctr.audit.project.domain.vo.AuditTripResultVo; import com.pavis.ctr.audit.web.domain.AjaxResult; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 审核表 服务层 */ public interface IAuditTripResultService extends IService { /** * 清空审核中的数据 * * @param userId 用户id * @param username 用户名称 */ void emptyAuditedTrip(Long userId,String username); /** * 把当天新增待审核的数据添加到result中 * * @return */ public boolean insertTodayUploadId(List uploadList); /** * 封装插入当天待审核upload_id * * @return */ public boolean insertAuditUploadId(); /** * 根据userId、时间区间查询审核完成记录 * * @param userId * @param startTime * @param endTime * @return */ public List selectByUserId(@Param("userId") Long userId, @Param("startTime") String startTime, @Param("endTime") String endTime); /** * 根据userId、时间区间查询审核完成的小票相关信息 * * @param userId * @param startTime * @param endTime * @return */ public List selectAuditedTrip(Long userId, String startTime, String endTime); /** * 根据userId查询审核完成的小票相关信息 * * @param userId * @return */ public List selectAuditedTripByUserId(Long userId); /** * 根据userId,page和提取数量提取待审核的小票信息 * * @param userId * @return */ public List selectAuditTrip(Integer getAuditNum, Long userId); /** * 根据userId,page和日期查询已经审核完成的小票信息 * S * * @param userId * @return */ public List selectAuditedTripList(Long userId, String startTime, String endTime); /** * 根据userId,page和数量已经审核完成的小票信息 * * @param getAuditNum * @param userId * @return */ public List selectAuditTripList(Integer getAuditNum, Long userId); /** * 根据uploadIdList查询审核记录 * * @param uploadIdList * @return */ public List selectByUserIdList(List uploadIdList, String listUUID); /** * 给提取的数据赋值一个uuid * * @param listUUID * @param uploadIdList * @return */ public boolean updateListUUID(List uploadIdList, String listUUID); /** * 获取待审核数量 * (1、audit_status=0 * 2、userId不为空且audit_status=0) * * @param userId * @return */ public int AuditResultNum(Long userId, Integer statusNum, String listUUID); /** * 获取 userId为空且audit_status=0 */ int AuditResultNotUserIdNum(); /** * 提取待审核upload_id * * @param num * @return */ public List getAuditUploadId(Integer num, Long userId, Integer statusNum); /** * 更新提取到待审核的upload_id的user_id * * @param uploadIdList * @param userId * @return */ public boolean updateAuditResUserId(List uploadIdList, Long userId); /** * 更新提交的小票信息 * * @param auditTripResultVo * @return */ public boolean updateSubmitTripRes(AuditTripResultVo auditTripResultVo); /** * 更新提交小票的result * * @param auditTripResult * @return */ public boolean updateSubmitTripResObj(AuditTripResult auditTripResult); /** * 根据uploadId提取审核完成的数据 * * @param uploadId * @return */ public AuditTripResultVo getResultVoByUploadId(String uploadId); /** * 根据upload查询result表 * * @param uploadId * @return AuditTripResult */ public AuditTripResult getResultByUploadId(String uploadId); /** * 封装提取待审核逻辑 */ public AjaxResult getAuditTrip(Integer getAuditNum, Long userId); /** * 根据user_id和date_dir获取的uploadId获取auditTripResult * 且要满足1.审核完成(1) * 2.操作结论为操作错误(01) * 3.祛除01下的8,9 子集选项的元素 * 4.若存在01,10 审核结论,就把01,10审核结论旋转位移到列表首位,优先进行返回 * * @param tripResultList * @return */ public List getResultByUserIdUploadId(List tripResultList); /** * 1:每次审核第一次提交时,记录日期用于表示该日上班,一天只记录一次。 * 2:获取上班日志表中id最大的一个,如果该条记录的时间和当天一致,则id-1获取次日的工作时间。 * 2.1:根据user_id查询所有审核完成的记录,给这些记录按日期进行排序,第一条称为最新审核记录; * 2.2:如果工作日期小于等于最新审核记录则表示有可能存在审核数据 * 2.2.1:根据工作日期[零点,59]在user_id查询所有审核完成的记录中取对应的数据。 * 2.3:如果工作日期大于最新审核记录则表示一定没有审核记录,返回空。 * @param userId * @return */ public List getTripResult(String userId); /** * 将推送给用户的已审核数据中的remark字段进行标记 * @param uploadId * @return */ int pushSign(String uploadId); }