package com.goafanti.common.dao; import com.goafanti.admin.bo.OutFinanceCount; import com.goafanti.common.model.OutPublicReleaseCount; import com.goafanti.common.model.PublicRelease; import com.goafanti.common.model.PublicReleaseDetails; import com.goafanti.customer.bo.MyUserDetailsBo; import com.goafanti.weChat.bo.*; import org.apache.ibatis.annotations.Param; import org.springframework.data.domain.Pageable; import java.util.Date; import java.util.List; /** * 公出表(PublicRelease)表数据库访问层 * * @author makejava * @since 2024-08-07 09:49:48 */ public interface PublicReleaseMapper { /** * 通过ID查询单条数据 * * @param id 主键 * @return 实例对象 */ PublicRelease queryById(Integer id); /** * 查询指定行数据 * * @param publicRelease 查询条件 * @param pageable 分页对象 * @return 对象列表 */ List findPublicReleaseList(PublicRelease publicRelease, @Param("pageable") Pageable pageable); /** * 统计总行数 * * @param publicRelease 查询条件 * @return 总行数 */ int findPublicReleaseCount(PublicRelease publicRelease); /** * 新增数据 * * @param publicRelease 实例对象 * @return 影响行数 */ int insert(PublicRelease publicRelease); int insertSelective(PublicRelease publicRelease); /** * 批量新增数据(MyBatis原生foreach方法) * * @param entities List 实例对象列表 * @return 影响行数 */ int insertBatch(@Param("entities") List entities); /** * 批量新增或按主键更新数据(MyBatis原生foreach方法) * * @param entities List 实例对象列表 * @return 影响行数 * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参 */ int insertOrUpdateBatch(@Param("entities") List entities); /** * 修改数据 * * @param publicRelease 实例对象 * @return 影响行数 */ int update(PublicRelease publicRelease); /** * 通过主键删除数据 * * @param id 主键 * @return 影响行数 */ int deleteById(Integer id); int deleteByMainId(Integer id); OutPublicRelease selectDtails(@Param("id") Integer id); /** * 需要比对申请人其他公出时间,选择出重复的时间来判断是否生效。 * 1 已有发起时间大于等于选择发起小于选择结束 * 2 已有发起小于选择发起并且已有结束大于选择发起 * 3 已有发起小于选择结束和已有结束大于选择结束 * @param aid 申请人 * @param start 开始时间 * @param end 结束时间 * @return */ List checkTime(@Param("aid")String aid, @Param("start") Date start, @Param("end")Date end); void updateSignByAidAndUid(@Param("uid") String buyerId, @Param("aid") String salesmanId); List getTimeUserFollow(@Param("date")Date date, @Param("now")Date now); List publicByOrder(String orderNo); List selectByMainId(@Param("mainId") Integer mainId,@Param("type") Integer type,@Param("aid") String aid); void updateStatusByMainId(@Param("status") Integer status, @Param("type") Integer type,@Param("mainId") Integer mainId,@Param("aid") String aid); OutPublicReleaseAndDetails selectDtailsByFid(@Param("ufid")String ufid); Integer selectCountByaidAndDate(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime); List selectByaidAndDate(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime); List selectByOrderNo(String orderNo); List selectMyNewPublic(String adminId); OutPublicReleaseList selectOutListBoById(Integer id); List selectAll(); List releaseAndExpenseCount(InputreleaseAndExpenseCount in); PublicRelease selectSonIdByMain(Integer id); int selectCountByAssistUnaudited(String aid); int selectCountByUnaudited(String aid); int selectCountByOtherUnaudited(String aid); List selectByUid(String id); List selectByMainIdAndReviewer(@Param("id") Integer id, @Param("reviewerId") String reviewerId); List selectDetailsByPrid(Integer prid); void updateAssist(InputPublicRelease in); List checkTech(@Param("aid")String aid, @Param("start") Date start, @Param("end")Date end); }